我正在听一个关于 django 测试的讲座,这是测试之一:
def test_invalid_flight_page(self):
max_id = Flight.objects.all().aggregate(Max("id"))["id__max"]
c = Client()
response = c.get(f"/flights/{max_id + 1}")
self.assertEqual(response.status_code, 404)
当我运行 manage.py 测试时,它会在此测试中引发错误,本质上是说没有匹配的航班:
但这就是重点,没有具有该 id 的航班,因此该请求的响应状态代码应等于 404。据我所知,我已从讲座中准确复制了代码,但讲师的测试都运行正常。谁能看到我可能缺少什么?
当我将预期的response.status_code更改为200时self.assertEqual(response.status_code, 200)
,它给了我同样的错误,所以这向我表明主要问题在于响应行?如果您还需要查看其他内容,请告诉我。
至尊宝的传说
三国纷争
相关分类