用于标记不能在某些平台上运行或预期会失败的测试函数。
skip 意味着您希望只有在满足某些条件时测试才能通过,否则pytest应该跳过运行测试。常见的例子是跳过非Windows平台上的仅限Windows的测试,或者跳过依赖于当前不可用的外部资源(例如数据库)的测试。
xfail 意味着您希望某个测试由于某种原因而失败。一个常见的例子是对尚未实现的特性或尚未修复的错误的测试。当测试通过时,尽管预期会失败(标记为 pytest.mark.xfail 这是一个 XPASS 并将在测试总结中报告。
skip:跳过测试函数
(1)skip
跳过测试函数的最简单方法是用 skip,可以传递可选参数 reason :
@pytest.mark.skip(reason="no way of currently testing this")
def test_the_unknown():
...
(2)skipif
如果您希望有条件地跳过某些内容,则可以使用 skipif 。以下是在python3.6之前的解释器上运行时将测试函数标记为跳过的示例:
import sys
@pytest.mark.skipif(sys.version_info < (3, 6), reason="requires python3.6 or higher")
def test_function():
...
xfail:将测试功能标记为预期失败
你可以使用 xfail 标记以指示预期测试失败:
@pytest.mark.xfail
def test_function():
...
更多关于skip和xfail的详细信息:pytest — skip和xfail标记