使用pytest的xfail单一假设案例?
xfail single hypothesis case using pytest?
使用pytest,我将特定参数设置为fail as expected。
虽然我的测试套件使用假设。这是一个我们知道的错误,我们不打算在此版本的 API 中修复。它已经记录在案,修复它所花费的时间不值得目前所需的努力。
有用的是,假设每次测试套件运行时都会指出此故障,我们已经学会忽略它。显然这很糟糕(特别是因为它导致我们忽略其他我们不应该忽略的事情)。
有没有办法告诉 pytest 预期单个参数值的假设失败?我不想完全删除它,因为 horizon 上有一个更大的项目应该修复它。当发生这种情况时,我希望假设再次检查这种情况。
我要应用的测试用例定义如下:
@given(inp=st.text(min_size=1))
def test_input(inp):
...
我的目标是能够说当 inp
等于特定值时,预计会失败。否则,这个测试应该通过。
您可以有条件地xfail
(或类似地skip
)迭代
@given(inp=st.text(min_size=1))
def test_input(inp):
if inp == some_value:
pytest.xfail("Marking xfail as inp equals some_value")
使用pytest,我将特定参数设置为fail as expected。
虽然我的测试套件使用假设。这是一个我们知道的错误,我们不打算在此版本的 API 中修复。它已经记录在案,修复它所花费的时间不值得目前所需的努力。
有用的是,假设每次测试套件运行时都会指出此故障,我们已经学会忽略它。显然这很糟糕(特别是因为它导致我们忽略其他我们不应该忽略的事情)。
有没有办法告诉 pytest 预期单个参数值的假设失败?我不想完全删除它,因为 horizon 上有一个更大的项目应该修复它。当发生这种情况时,我希望假设再次检查这种情况。
我要应用的测试用例定义如下:
@given(inp=st.text(min_size=1))
def test_input(inp):
...
我的目标是能够说当 inp
等于特定值时,预计会失败。否则,这个测试应该通过。
您可以有条件地xfail
(或类似地skip
)迭代
@given(inp=st.text(min_size=1))
def test_input(inp):
if inp == some_value:
pytest.xfail("Marking xfail as inp equals some_value")