@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)

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す ココナラコンテンツマーケット ノウハウ記事・テンプレート・デザイン素材はこちら