Pytest不会重写AssertionError

时间:2016-12-05 16:53:45

标签: python django pytest pytest-django

我正在使用pytest与pytest-django和pytest-cov插件测试Django项目,当我告诉它在目录(pytest project -vv --cov --ds=proj.tests)中查找测试时,它确实当它发生时不重写AssertionError:

    def test_pytest():
>      assert 2 == 3
E      AssertionError

但是,它仍然可以在另一个目录/ django应用程序中运行,它是一个单独的tests.py文件,而不是上面包含python文件的目录

>       assert rec.action == 'updater'
E       assert 'update' == 'updater'
E         - update
E         + updater
E         ?       +

此外,我不知道它是否有帮助或只是混淆了所有内容,但在直接查找文件(pytest project/core/tests/pytest.py -vv --cov --ds=proj.tests)时,它会按预期工作:

    def test_pytest():
>       assert 2 == 3
E       assert 2 == 3

它之前的工作更加陌生,而且我没有触及任何配置(对我的同事而言,一切都是相同的,据称他已经过了更早的提交方式)。

我使用tox来自动化测试 这是pytest部分

[pytest]
python_files =
  tests/*.py
  tests*.py
  test_*.py
minversion = 3

为什么它不再适用呢?反正有没有解决这个问题?我不想回到使用印刷品的日子:(

我使用的是Python 3.5.2,tox 2.4.1,pytest-django 3.0.0(及其pytest dep)和pytest-cov 2.4.0

1 个答案:

答案 0 :(得分:2)

好的,原因是我的tests目录中的文件名称不是以test_开头的

重新命名后再次工作

错误引用@ pytest#2121