@pytest.mark.parametrize
記事
IT・テクノロジー
@pytest.mark.parametrize
parameterize はテスト関数やテストクラス、モジュールに対して使う。
※ fixture に対しては使えない
関数
@pytest.mark.parametrize("引数", [値1, 値2])
test_関数(引数):
クラス
@pytest.mark.parametrize("引数", [値1, 値2])
class Testクラス:
メソッド
@pytest.mark.parametrize("引数", [値1, 値2])
test_メソッド(self, 引数):
モジュール
pytestmark = pytest.mark.parametrize("引数", [値1, 値2])
組み込みのグローバル変数 pytestmark に代入する
複数の引数
@pytest.mark.parametrize("引数1, 引数2", [("a", 100), ("b", 200)])
すべての組み合わせ
@pytest.mark.parametrize("引数1", ["a", "b"])
@pytest.mark.parametrize("引数2", [100, 200])
セットされるパラメータの順序
pytestmark = pytest.mark.parametrize("引数", ["a", "b"])
①"a"
②"b"
@pytest.mark.parametrize("引数1, 引数2", [("a", 100), ("b", 200)])
(引数1, 引数2)
①("a", 100)
②("b", 200)
@pytest.mark.parametrize("引数1", ["a", "b"])
@pytest.mark.parametrize("引数2", [100, 200])
(引数1, 引数2)
①("a", 100)
②("b", 100)
③("a", 200)
④("b", 200)