【发布时间】:2019-06-13 13:05:01
【问题描述】:
我对 Django 测试客户端有疑问。
让home 路径我有这个模板(home.html):
<html>
<body>
{% include 'example.html' %}
</body>
</html>
在example.html 我有错误:
<div>
{% non_registered_tag arg1 arg2 %}
</div>
我为 Django URL 的可访问性编写了一个测试。
class HomePageAccess(TestCase):
def test_home_page(self):
client = Client()
response = client.get(reverse_lazy('home'))
self.assertEqual(response.status_code, 200)
如果home.html 中有错误,则此代码成功失败,但是如果example.html 中包含在home.html 中的错误,即使我们预计会失败,测试也会通过,因为我将它包含在@987654331 中@ 并且在浏览器中我遇到了一个错误(状态代码 500),而这在测试客户端中没有发生。
正常吗?我正在使用 Django 2.0.2。 任何帮助将不胜感激
【问题讨论】:
-
在您的
settings.py中,您是否在OPTIONS字典中的TEMPLATES设置中设置了debug选项?还有settings.py中的整体DEBUG设置的值是多少? -
可能与此相关:
DEBUG为 False 时,include标签中的异常会被静音。 -
@WillKeeling 你说得对!在模板
OPTIONS字典中debug未设置为true。我改变了它现在可以工作了。谢谢。 -
@WillKeeling 如果您添加答案,我们将不胜感激。所以我可以接受并投票。谢谢。
-
已添加答案 - 谢谢!
标签: django testing django-testing