如何使用cURL修补Django测试服务器

时间:2019-08-21 14:43:28

标签: python django django-rest-framework

在我的API中,我具有以下动态:

  1. POST对API的处理请求。
  2. 在后台进行一些处理。
  3. 处理完成后,计算机将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模块下指定的,所以我真的不明白为什么它不起作用。

1 个答案:

答案 0 :(得分:0)

我不知道这是否可以被认为是完整的答案,因为我尚未对其进行足够的测试。但是,显然,对于更特定的情况,Django的TestCase虚拟服务器有些简单。您可以改用LiveServerTestCase获得更强大的功能。 (如果您需要更多信息,请查看this StackOverflow answer。)

LiveServerTestCase类中,您将找到self.live_server_url属性,该属性具有服务器实际所在的地址。显然,由于安全原因,分配给它的端口会有些随机。然后,最后,您可以设法将信息传递到PATCH操作中。