Pie*_*las 6 python testing django templates
我知道django测试用例是用DEBUG = False和TEMPLATE_DEBUG = False完成的,并且我可以使用特定函数将其更改为True,
from django.test.utils import override_settings
@override_settings(DEBUG=True)
def test_one_function(self):
# This test should be failing and is not.
# If I did not test manually I would'nt know !
pass
Run Code Online (Sandbox Code Playgroud)
但也许有一种更好,更通用的解决方案可以同时应用于eveything?
我的模板中有错误:我包含了另一个模板,链接已损坏.如果我用DEBUG = True手动检查我得到TemplateDoesNotExist错误.但是在我的测试用例中,url是在没有破坏包含的情况下呈现的,它不会抛出错误,http_status是200.我已经在其他地方测试了非常通用的包含模板,所以我不想添加测试来查看是否什么是内部正确呈现.但我希望看到渲染失败,这就是我的测试!
我试图将TEMPLATE_STRING_IF_INVALID设置为异常(在此处找到),但它似乎不适用于破坏的包含.
有没有办法在测试期间使所有渲染错误引发异常,而不破坏django在调试中不运行测试的设计原则?
小智 2
您可以使用--debug-mode为所有测试设置 DEBUG=True。例子:
$ ./manage.py test --debug-mode
Run Code Online (Sandbox Code Playgroud)
另一种解决方案是等待 Django 2.1(尚未发布)。文档承诺丢失的包含不会被静音(请参阅包含标签参考的末尾 )。
| 归档时间: |
|
| 查看次数: |
459 次 |
| 最近记录: |