gpt4 book ai didi

python - 在 Django 中测试外部 URL

转载 作者:太空宇宙 更新时间:2023-11-04 05:23:06 24 4
gpt4 key购买 nike

我目前很难让我的一些 Django 测试正常工作。我想要做的是测试给定的 URL(我想使用的 REST API)是否已启动并正在运行(返回状态代码 200),然后测试它是否响应预期值。然而,我得到的只是一个状态代码 404(找不到页面),即使 URL 绝对是正确的。 (在我的浏览器中尝试了确切的字符串)

这是代码:

from django.test import TestCase


class RestTest(TestCase):
def test_api_test_endpoint(self):
response = self.client.get("http://ip.to.my.api:8181/test/")
self.assertEqual(response.status_code, 200, "Status code not equals 200")

它总是返回 404 而不是 200...有人知道我在这里做错了什么吗?

最佳答案

self.client 不是真正的 HTTP 客户端;它是 Django 测试客户端,它模拟对您自己的应用程序的请求以进行测试。它不发出 HTTP 请求,它只接受路径,而不是完整的 URL。

如果您真的需要检查外部 URL 是否已启动,您将需要一个合适的 HTTP 客户端,例如 requests。然而,在测试用例中这似乎不是一件合适的事情,因为它依赖于外部 API;如果该 API 出现故障,您的测试会突然失败,这看起来很奇怪。这可能是您在监控工作中所做的事情,而不是在测试中。

关于python - 在 Django 中测试外部 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39707524/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com