📅  最后修改于: 2023-12-03 15:33:55.873000             🧑  作者: Mango
在编写测试用例时,有时可能会遇到一些暂时无法通过的测试,但不希望将它们标记为失败。这时就可以使用 pytest-xfail
插件来标记这些测试。
使用以下命令安装 pytest-xfail
:
pip install pytest-xfail
使用 @pytest.mark.xfail
装饰器来标记测试。当测试用例的结果符合预期时,将会被标记为 “xfail” 而不是 “fail”。我们可以通过 --strict-markers
参数来验证标记是否被正确使用。
import pytest
@pytest.mark.xfail
def test_failing_function():
assert False
@pytest.mark.xfail
def test_passing_function():
assert True
@pytest.mark.xfail(reason="This test is designed to fail.")
def test_failing_reason():
assert False
在以上例子中,第一条测试用例将被标记为 xfail
,因为断言失败。第二条测试用例将被标记为 xpass
,因为断言成功。第三条测试用例将被标记为 xfail
,并在代码中提供了原因。
如果测试用例的断言成功,则使用 @pytest.mark.xfail(strict=True)
标记。
运行测试时需要加上 --runxfail
参数,这样只有通过 xfail
标记的测试才会被运行。
pytest --runxfail
Pytest-xfail 插件为我们提供了一种在编写测试用例时跳过测试的方式。使用 @pytest.mark.xfail
装饰器来标记测试,通过 --runxfail
参数来运行带有 xfail
标记的测试。