<HttpResponseNotFound status_code=404, "text/html"> 在 django 测试中
<HttpResponseNotFound status_code=404, "text/html"> in django-test
我是单元测试的新手,我一直在尝试测试我构建的纸牌游戏的 GET 方法。
我的测试用例如下:
def test_rooms(self):
c = APIClient()
room_id = PokerRoom.objects.get(name='planning').id
request = c.get('http://127.0.0.1:8000/room/{}'.format(room_id))
print(request)
ID 是一个 UUID,这就是我使用 room_id 方法的原因。
我的url:
path('room/<int:pk>', room),
其中 room 是一个 @api_view(['GET']) 方法,pk 是房间的 id。但是当我尝试测试它时,出现错误:
<HttpResponseNotFound status_code=404, "text/html">
检查了房间是否存在于测试数据库中并且确实存在,现在我不知道发生了什么。有人可以帮助我吗?
您能否在上面的代码中添加更多详细信息,例如如何创建测试套件、如何设置数据等?我立即注意到的一个问题是如何提出请求。为什么要使用完整的 URL?如果您使用 Django/DRF 测试 API 客户端,您应该使用视图路径 URL 而不是完整的 URL.
参考:https://docs.djangoproject.com/en/4.0/topics/testing/tools/#overview-and-a-quick-example
我是单元测试的新手,我一直在尝试测试我构建的纸牌游戏的 GET 方法。
我的测试用例如下:
def test_rooms(self):
c = APIClient()
room_id = PokerRoom.objects.get(name='planning').id
request = c.get('http://127.0.0.1:8000/room/{}'.format(room_id))
print(request)
ID 是一个 UUID,这就是我使用 room_id 方法的原因。
我的url:
path('room/<int:pk>', room),
其中 room 是一个 @api_view(['GET']) 方法,pk 是房间的 id。但是当我尝试测试它时,出现错误:
<HttpResponseNotFound status_code=404, "text/html">
检查了房间是否存在于测试数据库中并且确实存在,现在我不知道发生了什么。有人可以帮助我吗?
您能否在上面的代码中添加更多详细信息,例如如何创建测试套件、如何设置数据等?我立即注意到的一个问题是如何提出请求。为什么要使用完整的 URL?如果您使用 Django/DRF 测试 API 客户端,您应该使用视图路径 URL 而不是完整的 URL.
参考:https://docs.djangoproject.com/en/4.0/topics/testing/tools/#overview-and-a-quick-example