として印刷名を取得する必要があり、マークデコレータは以下のようになります。
@pytest.mark.parametrize("arg1", ["StackOverflow"])
def test_mark_arg1(arg1):
assert arg1 == "StackOverflow" #Success
assert arg1 == "ServerFault" #Failed
実行
python -m pytest <filename>.py
- 注1:関数名は
test_
注2で開始する必要がありますので、直接実行し、pytestがstdout (print)
リダイレクトするstdoutが上の任意の結果を表示することができなくなります画面。また、テストケースでは、関数に結果を出力する必要はありません。
- 注3:pytestはあなたが本当に外に設定可能な引数を取得したい場合は、あなたがあなたのスクリプト内でこれを実装する必要があり、直接
をsys.argvのを取得することができないのpythonが運営するモジュールであり、 。
@pytest.mark.unit
def test_print_name(name):
print ("Displaying name: %s" % name)
conftest.py
で:@pytest.mark.parametrize
を使用していない、あなたのpytest試験で
with open("arguments.txt") as f:
args = f.read().splitlines()
...
@pytest.mark.parametrize("arg1", args)
...