pytest 的无用输出
Unhelpful output from pytest
TLDR:如何从 pytest 获得更好的输出?
我将 Django 与常规 python3 单元测试一起使用。
我刚刚切换到 pytest-django 进行 运行 测试。
pytest 对我的几乎所有测试(总共 149 个)都抛出错误。
出现此错误的页面和页面。
self = <RegexURLResolver 'project.urls' (None:None) ^/>
@property
def reverse_dict(self):
language_code = get_language()
if language_code not in self._reverse_dict:
self._populate()
> return self._reverse_dict[language_code]
E KeyError: 'en-us'
这不是问题所在。这让我误入歧途。
我的 views.py
文件中有一个语法错误。
./manage.py test
结果:
snip
File "/home/roland/project/views.py", line 20
code = zip(list1, list2])
SyntaxError: invalid syntax
注意最后一个:]
这就是问题所在。
所以:在使用 pytest 时如何获得更有用的问题输出?
顺便说一句:
在找到这个并滚动回 pytest 输出后,提到了语法错误。它只是被埋在输出中。
您可以使用 --maxfail=1 选项,这样它会在第一次失败时立即停止。
此外,请确保您的 pytest.ini 设置正确,以便 pytest 知道它应该使用 django-pyest。
[pytest]
DJANGO_SETTINGS_MODULE='myapp.settings'
对于我的工作流程,我通常会执行以下操作:
- 运行
pytest --maxfail=1 myfile.py &> pytest-output.txt
- tail、grep 或在文本文件中搜索错误。
- 修复和迭代
还有很多其他配置选项可以帮助您从 pytest 获得更有意义的输入。
TLDR:如何从 pytest 获得更好的输出?
我将 Django 与常规 python3 单元测试一起使用。 我刚刚切换到 pytest-django 进行 运行 测试。
pytest 对我的几乎所有测试(总共 149 个)都抛出错误。 出现此错误的页面和页面。
self = <RegexURLResolver 'project.urls' (None:None) ^/>
@property
def reverse_dict(self):
language_code = get_language()
if language_code not in self._reverse_dict:
self._populate()
> return self._reverse_dict[language_code]
E KeyError: 'en-us'
这不是问题所在。这让我误入歧途。
我的 views.py
文件中有一个语法错误。
./manage.py test
结果:
snip
File "/home/roland/project/views.py", line 20 code = zip(list1, list2])
SyntaxError: invalid syntax
注意最后一个:]
这就是问题所在。
所以:在使用 pytest 时如何获得更有用的问题输出?
顺便说一句: 在找到这个并滚动回 pytest 输出后,提到了语法错误。它只是被埋在输出中。
您可以使用 --maxfail=1 选项,这样它会在第一次失败时立即停止。
此外,请确保您的 pytest.ini 设置正确,以便 pytest 知道它应该使用 django-pyest。
[pytest]
DJANGO_SETTINGS_MODULE='myapp.settings'
对于我的工作流程,我通常会执行以下操作:
- 运行
pytest --maxfail=1 myfile.py &> pytest-output.txt
- tail、grep 或在文本文件中搜索错误。
- 修复和迭代
还有很多其他配置选项可以帮助您从 pytest 获得更有意义的输入。