Pytest:使用xfail和加注,测试保持xfailiing虽然意外的异常

时间:2015-03-07 14:59:17

标签: python pytest

我将使用装饰器将测试标记为xfail,并为它们提供一个特定的异常,预期会在应用程序的当前开发状态​​中发生。

据我了解http://pytest.org/latest/skipping.html中的文档,测试应该报告失败,如果测试现在失败或者错误有异常,则报告没有预期的失败。

实施是否与我理解的不同?

示例:

import pytest

@pytest.mark.xfail(raises=AttributeError)
def test_xfailure():

    print "Hello"

    raise NotImplemented()

运行它:

# py.test failtest.py 
============================================================================= test session starts ==============================================================================
platform linux2 -- Python 2.6.6 -- py-1.4.26 -- pytest-2.6.0
plugins: cov, xdist, random
collected 1 items 

failtest.py x

========================================================================== 1 xfailed in 0.04 seconds ===========================================================================

1 个答案:

答案 0 :(得分:2)

解决了最新的py.test版本2.6.4!遗憾...

实际问题是,这似乎是pytest 2.6.0中的一个错误 项目中的开发环境是我们使用它有点过时了,我根本没有意识到2.6.0(也在示例输出中显示)和2.6.4之间的次要版本差异