在py.test中,当我明确跳过标记为xfail的测试时,如何将其报告为“跳过”而不是“xfailed”?

时间:2012-06-19 17:03:33

标签: python pytest

我有一个标记为xfail的py.test测试函数:

@pytest.mark.xfail
def test_that_fails():
    assert 1 == 2

在我的pytest_runtest_setup()钩子中,我明确地跳过了这个测试:

def pytest_runtest_setup (item):
    pytest.skip ('Skipping this test')

当我运行py.test时,它报告测试xfailed:

tests.py x

========================== 1 xfailed in 1.69 seconds ===========================

如何让py.test报告此测试被跳过?

好像我在问,“如何在我的pytest_runtest_setup()钩子中删除xfail标记形式?”

感谢。

1 个答案:

答案 0 :(得分:1)

感谢错误报告:)

我同意期望py.test将此报告为“跳过”测试而不是xfail是有道理的。毕竟,如果跳过测试,则无法确定xfail-outcome(xfail / xpass)。我刚刚解决了这个问题,您可以通过输入以下命令来安装:

pip_install -i http://pypi.testrun.org -U pytest
# using easy_install is fine as well

这应该得到2.2.5.dev4与“py.test --version”并解决您的问题。它将成为下一个pypi版本的一部分。