Pytestで特定のパラメータのみを使用してテストをxfailとしてマークする方法 質問する

Pytestで特定のパラメータのみを使用してテストをxfailとしてマークする方法 質問する

私は pytest をあまり使い慣れていないのですが、特定のパラメータで呼び出されたときにテストを「失敗すると予想される」ものとしてマークする方法を知りたいです。私は次のようにテストをパラメータ化します。

@pytest.mark.parametrize("param1", [False, True])
@pytest.mark.parametrize("param2", [1, 2, 3])
def test_foo(self, param1, param2):
    ...

私が達成しようとしているのは、 でテストが呼び出されると(param1 == True and param2 == 2)テストが失敗し、他のパラメータの組み合わせは成功するということです。

しかし、これを実行する方法が見つかりませんでした。何かアイデアはありますか?

ベストアンサー1

見るパラメータ化による xfail:

@pytest.mark.parametrize("param2, param2", [
    (1, True),
    (2, True),
    pytest.param(1, False, marks=pytest.mark.xfail(reason='some bug')),
])
def test_foo(self, param1, param2):
    ...

おすすめ記事