我对 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)
调用测试时,测试应该失败;而任何其他参数组合都应该通过。
但我还没有找到任何方法来做到这一点。你有什么想法吗?
@pytest.mark.parametrize(("param1", "param2"), [
(1, True),
(2, True),
pytest.param(1, False, marks=pytest.mark.xfail(reason='some bug')),
])
def test_foo(self, param1: int, param2: bool):
...