Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Pytest不会重写断言错误_Python_Django_Pytest_Pytest Django - Fatal编程技术网

Python Pytest不会重写断言错误

Python Pytest不会重写断言错误,python,django,pytest,pytest-django,Python,Django,Pytest,Pytest Django,我正在使用pytest和pytest-Django和pytest-cov插件测试一个Django项目,当我告诉它在目录中查找测试时(pytest-project-vv--cov--ds=proj.tests),它不会在发生以下情况时重写断言错误: def test_pytest(): > assert 2 == 3 E AssertionError 但是,它仍然总是在另一个目录/django应用程序中工作,在这个目录中它是一个tests.py文件,而在上面的例

我正在使用pytest和pytest-Django和pytest-cov插件测试一个Django项目,当我告诉它在目录中查找测试时(
pytest-project-vv--cov--ds=proj.tests
),它不会在发生以下情况时重写断言错误:

    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,这是因为我的
tests
目录中的文件名不是以
test\ucode>开头的

一旦重新命名,它又能工作了


Bug引用了@

好的,这是因为我的
测试
目录中的文件名不是以
测试

一旦重新命名,它又能工作了

错误被引用@