web-dev-qa-db-ja.com

pytestで単一ファイルをテストする方法

Pytestで単一のファイルをどのようにテストしますか?ドキュメントには無視オプションのみがあり、「このファイルのみをテストする」オプションは見つかりませんでした。

IDEで異なるファイルテストを実行したいので、これはsetup.cfgの代わりにコマンドラインで動作することが望ましいです。スイート全体に時間がかかりすぎます。

43
simonzack

単にpy.testファイルへのパス

何かのようなもの

py.test tests/unit/some_test_file.py

45
Bryant

これは非常に簡単です。

$ 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
38
lmiguelvargasf

これは私のために働いた:

python -m pytest -k some_test_file.py

これは、個々のテスト機能でも機能します。

python -m pytest -k test_about_something
1
JonDoe297