Pytest 简明教程
Pytest - Xfail/Skip Tests
在本章中,我们将学习 Pytest 中的 Skip 和 Xfail 测试。
现在,考虑以下情况 −
-
由于某些原因,一段时间的测试无关紧要。
-
正在实施一项新功能,我们已经为该功能添加了一个测试。
在这些情况下,我们可以选择永久失败测试或跳过测试。
Pytest 将执行永久失败的测试,但不会将其视为已失败或已通过的测试的一部分。即使测试失败,也不会打印这些测试的详细信息(请记住,pytest 通常会打印已失败的测试的详细信息)。我们可以使用以下标记永久失败测试 −
@pytest.mark.xfail
跳过测试表示不会执行该测试。我们可以使用以下标记跳过测试 −
@pytest.mark.skip
稍后,当测试变得相关时,我们可以删除这些标记。
编辑 test_compare.py ,其中我们已经可以包括永久失败和跳过标记 −
import pytest
@pytest.mark.xfail
@pytest.mark.great
def test_greater():
num = 100
assert num > 100
@pytest.mark.xfail
@pytest.mark.great
def test_greater_equal():
num = 100
assert num >= 100
@pytest.mark.skip
@pytest.mark.others
def test_less():
num = 100
assert num < 200
使用以下命令执行该测试 −
pytest test_compare.py -v
执行后,上述命令将生成以下结果 −
test_compare.py::test_greater xfail
test_compare.py::test_greater_equal XPASS
test_compare.py::test_less SKIPPED
============================ 1 skipped, 1 xfailed, 1 xpassed in 0.06 seconds
============================