如何使用Pytest

时间:2015-06-01 10:45:42

标签: testing pytest

我对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 个答案:

答案 0 :(得分:6)

请参阅xfail with parametrize

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