私は単体テスト(py.testを使って)をより汎用的にしようとしていますが、私はプログラム的にテストを生成しています。 - 私は引数とテストの終わりに保持する不変量をエクスポートする関数を持っています。py.testパラメータpytest.param`が見つかりません?
私は物事をきれいに保つために、私もテストのためのIDを渡したいと思います。 (?)pytestのための公式を見ドキュメント私が気付か:different ways to parametrizeを表示する例で
import pytest
from datetime import datetime, timedelta
# ...
@pytest.mark.parametrize("a,b,expected", [
pytest.param(datetime(2001, 12, 12), datetime(2001, 12, 11),
timedelta(1), id='forward'),
pytest.param(datetime(2001, 12, 11), datetime(2001, 12, 12),
timedelta(-1), id='backward'),
])
def test_timedistance_v3(a, b, expected):
diff = a - b
assert diff == expected
。
上記の方法はまさに私がしたいことです(引数と引数のそれぞれにIDを付けてください)。私の関数はpytest.param
オブジェクトのリストを出力します。
E AttributeError: module 'pytest' has no attribute 'param'
は、ドキュメントが間違っている:しかし、私は(pytest.orgからまたはフル1)上記のスニペットを実行したときに、私は次のようなエラー(もpycharm IDEのハイライトこの構文エラー)を与えていますか?私は環境が正しく設定されていない場所で何かを見つけられませんか?