【发布时间】:2019-04-18 05:41:03
【问题描述】:
我正在为我的 django 应用程序视图编写测试,我是这方面的初学者。我知道在运行测试之前会生成一个新数据库,该数据库仅包含在运行测试时创建的数据,但在我看来的测试中,我正在使用我的默认数据库而不是测试的服务器上通过 url 进行 API 调用数据库的方式如下。
def test_decline_activity_valid_permission(self):
url = 'http://myapp:8002/api/v1/profile/' + self.profileUUID + '/document/' + \
self.docUUID + '/decline/'
response = requests.post(
url,
data=json.dumps(self.payload_valid_permission),
headers=self.headers,
)
self.assertEquals(response.status_code, status.HTTP_201_CREATED)
我想知道我们是否可以使用测试数据库来测试我们的视图。使用request和使用Client有什么区别?
【问题讨论】:
-
requests发出完整的 http 请求。 Django test Client 避免了 HTTP 的开销,直接与 django 打交道。测试客户端也不需要运行 Web 服务器。
标签: django django-views django-testing django-tests