0

pytest-django および pytest-cov プラグインを使用して pytest を使用して Django プロジェクトをテストしていますが、ディレクトリ ( pytest project -vv --cov --ds=proj.tests) でテストを探すように指示している場合、AssertionError が発生しても書き換えられません。

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

ただし、上記の場合のpythonファイルを含むディレクトリとは対照的に、単一のtests.pyファイルである別のディレクトリ/ djangoアプリでも常に機能します

>       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

本来のように機能しなくなったのはなぜですか? とにかくこの問題を解決する方法はありますか? print を使っていた時代には戻りたくない :(

Python 3.5.2、tox 2.4.1、pytest-django 3.0.0 (およびその pytest dep)、および pytest-cov 2.4.0 を使用しています。

4

1 に答える 1

2

わかりました。testsディレクトリ内のファイルの名前が で始まっていなかったためです。test_

名前を変更すると、再び機能しました

バグ参照 @ pytest#2121

于 2016-12-06T12:13:25.317 に答える