在我的API中,我具有以下动态:
POST
对API的处理请求。PATCH
的API原始请求status
字段与cURL
一起使用。当我在普通服务器(python manage.py runserver
)上测试这些步骤时,这些 do 工作正常。但是,当我尝试在Django
中自动化测试时,我得到:
curl: (7) Failed to connect to 127.0.0.1 port 80: Connection refused
端口80
是'SERVER_PORT': '80'
在django.test.client
模块下指定的,所以我真的不明白为什么它不起作用。
答案 0 :(得分:0)
我不知道这是否可以被认为是完整的答案,因为我尚未对其进行足够的测试。但是,显然,对于更特定的情况,Django的TestCase
虚拟服务器有些简单。您可以改用LiveServerTestCase
获得更强大的功能。 (如果您需要更多信息,请查看this StackOverflow answer。)
在LiveServerTestCase
类中,您将找到self.live_server_url
属性,该属性具有服务器实际所在的地址。显然,由于安全原因,分配给它的端口会有些随机。然后,最后,您可以设法将信息传递到PATCH
操作中。