py.testでテストのリスト(約5項目)を除外したいと思います。py.testのテストリストをコマンドラインで除外しますか?
このリストをpy.testにコマンドラインで伝えたいと思います。
ソースを変更しないようにしたいと思います。
どうすればよいですか?
あなたは、これがconftest.py
ファイル作成することにより、仕事を得ることができ
py.testでテストのリスト(約5項目)を除外したいと思います。py.testのテストリストをコマンドラインで除外しますか?
このリストをpy.testにコマンドラインで伝えたいと思います。
ソースを変更しないようにしたいと思います。
どうすればよいですか?
あなたは、これがconftest.py
ファイル作成することにより、仕事を得ることができ
を参照してください、オプションが-k
です。
def test_spam():
pass
def test_ham():
pass
def test_eggs():
pass
ボークpytest:あなたは次のテストがある場合は
pytest -v -k 'not spam and not ham' tests.py
を、あなたが取得します:
collected 3 items
pytest_skip_tests.py::test_eggs PASSED [100%]
=================== 2 tests deselected ===================
========= 1 passed, 2 deselected in 0.01 seconds =========
ニース、私は今日何かを学んだ! –
はい、これは動作します。この答えをありがとう。 – guettli
:
# content of conftest.py
import pytest
def pytest_addoption(parser):
parser.addoption("--skiplist", action="store_true",
default="", help="skip listed tests")
def pytest_collection_modifyitems(config, items):
tests_to_skip = config.getoption("--skiplist")
if not tests_to_skip:
# --skiplist not given in cli, therefore move on
return
skip_listed = pytest.mark.skip(reason="included in --skiplist")
for item in items:
if item.name in tests_to_skip:
item.add_marker(skip_listed)
あなたがでそれを使用する:あなたは、常に同じテストをスキップする場合は、リストを定義できること
$ pytest --skiplist test1 test2
注意をconftest
。
あなたはtests selecting expressionを使用することができますもthis useful link
あなたの答えをありがとう。 – guettli
あなたはargparseを使用してみましたか? – IMCoins
私の文脈で@IMCoins py.testはコマンドラインツールです。私はこの文脈ではpythonソースを変更することはできません。 argparseはPythonライブラリなので、ここでは役に立たないと思います。 – guettli