要在中跳过测试,可以使用skip
和skipif
装饰器标记测试pytest
。
跳过测试
@pytest.mark.skip(reason="no way of currently testing this")
def test_func_one():
...
跳过测试的最简单方法是用skip
装饰器标记该装饰器,该装饰器可以通过可选的reason
。
也可以通过调用pytest.skip(reason)
函数在测试执行或设置期间强制跳过。当在导入期间无法评估跳过条件时,此功能很有用。
def test_func_one():
if not valid_config():
pytest.skip("unsupported configuration")
根据条件跳过测试
@pytest.mark.skipif(sys.version_info < (3, 6), reason="requires python3.6 or higher")
def test_func_one():
...
如果要基于条件跳过,则可以skipif
改用。在前面的示例中,在Python3.6之前的解释器上运行时,将跳过test函数。
最后,如果因为确定失败而要跳过测试,则还可以考虑使用xfail
标记来表示您期望测试失败。
.skip
摩卡(Node.js)的优雅吗?it('tests something'...)
->it.skip('tests something'...)
会禁用该特定测试。它也有一个方便的对立面:.only
它只会运行该测试,而不会执行其他任何操作。