来自pytest

时间:2018-06-13 09:59:39

标签: visual-studio-code pytest pytest-django

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

     

文件“/home/roland/project/views.py”,第20行       code = zip(list1,list2])

     

SyntaxError:语法无效

注意最后一个:]这就是问题。

那么:使用pytest时如何才能获得更有用的输出问题?

顺便说一下: 找到这个并滚动回pytest输出后,提到了语法错误。它只是埋在输出中。

1 个答案:

答案 0 :(得分:1)

您可以使用--maxfail=1选项,以便在第一次失败时立即停止。

另外,请确保你的pytest.ini设置正确,以便pytest知道它应该使用django-pyest。

[pytest]
DJANGO_SETTINGS_MODULE='myapp.settings'

对于我的工作流程,我通常会执行以下操作:

  • 运行pytest --maxfail=1 myfile.py &> pytest-output.txt
  • tail,grep或搜索文本文件以查找错误。
  • 修复并重复

还有很多其他配置选项可以帮助您从pytest获得更有意义的输入。