pytestで単一のファイルをどのようにテストしますか?ドキュメントには無視オプションしかなく、「このファイルのみをテストする」オプションはありませんでした。
setup.cfg
ideでさまざまなファイルテストを実行したいので、これはの代わりにコマンドラインで機能することが望ましいです。スイート全体に時間がかかりすぎます。
回答:
pytest
ファイルへのパスで実行するだけです
何かのようなもの
pytest tests/unit/some_test_file.py
addopts
setup.cfgで、パスがそこに追加された場合に問題が発生しているようです。
これは非常に簡単です。
$ pytest -v /path/to/test_file.py
-v
フラグは、冗長性を高めることです。そのファイル内で特定のテストを実行する場合:
$ pytest -v /path/to/test_file.py::test_name
パターンに続く名前のテストを実行する場合は、次を使用できます。
$ pytest -v -k "pattern_one or pattern_two" /path/to/test_file.py
テストにマークを付けるオプションもあるので、-m
フラグを使用してマークされたテストのサブセットを実行できます。
test_file.py
def test_number_one():
"""Docstring"""
assert 1 == 1
@pytest.mark.run_these_please
def test_number_two():
"""Docstring"""
assert [1] == [1]
マークの付いたテストを実行するにはrun_these_please
:
$ pytest -v -m run_these_please /path/to/test_file.py
path/to/test.py::test_method
、エラーが発生しました>エラー:見つかりません:/home/namgivu/NN/code/myproject/tests/models/test_bill.py :: test_generate_for_today_normal_cycle(名前なし '/ home / namgivu / NN / code / myproject / tests / models /test_bill.py::test_generate_for_today_normal_cycle 'のいずれか[<Module'tests / models / test_bill.py'>])
-k my_test[a test id here]
動作せず、これまでに管理した中で最高の-k "my_test and a and test and id and here"
形式は、ほとんど使いやすい形式ではありません。