django使用self.assertTemplateUsed()测试正确的模板
我曾经在Django中看到过以下测试:django使用self.assertTemplateUsed()测试正确的模板,django,testing,Django,Testing,我曾经在Django中看到过以下测试: with self.assertTemplateUsed('<someTemplate>'): response = self.client.get('<someURL>') self.assertEqual(response.status_code, 200) 使用self.assertTemplateUsed(“”)的: response=self.client.get(“”) self.assertEqual
with self.assertTemplateUsed('<someTemplate>'):
response = self.client.get('<someURL>')
self.assertEqual(response.status_code, 200)
使用self.assertTemplateUsed(“”)的:
response=self.client.get(“”)
self.assertEqual(response.status_代码,200)
问题:
既然我们已经有了带有部分的
,是否有必要测试状态\u code
?换句话说,final语句是多余的吗?如果您的应用程序可能使用同一模板发送不同的响应状态,那么final语句不是多余的。在一般情况下,使用assertTemplateUsed
就可以了 即使使用视图呈现模板,测试状态\u code
始终是一个好主意
Django使您能够在呈现模板时传递所需的状态代码
并将status
作为关键字参数,以便可以使用您认为适合该视图的状态代码呈现页面
因此,您可以使用任何响应状态代码呈现模板,而不仅仅是200
。这使您有理由在使用assertTemplateUsed
作为上下文管理器时测试状态代码