我正在尝试为我们的简单应用程序编写测试。虽然,所有测试都运行得很好,但我仍然想检查视图正在呈现或重定向到的模板名称。检查视图呈现什么模板的最佳方法是什么。
也许是这样的:
self.assertTrue('test.html' in self.templates)
或者
self.assertTrue(self.template.name, 'test.html')
这怎么可能实现。
您应该使用assertTemplateUsed
(文档):
response = self.client.get('/url/')
self.assertTemplateUsed(response, 'test.html')
从:
response = self.client.get("/my/view/url")
你可以做
self.assertEqual(response.templates[0].name, "expected_template.html")
或者:
self.assertEqual(response.template[0].name, "expected_template.html")
因为“模板”和“模板”是同一个数组。此数组列表的后续(非零)条目包括或扩展模板。