📅  最后修改于: 2020-11-06 05:22:13             🧑  作者: Mango
在本章中,我们将学习Pytest中的Skip和Xfail测试。
现在,考虑以下情况-
在这些情况下,我们可以选择xfail测试或跳过测试。
Pytest将执行xfailed测试,但不会被视为部分失败或通过测试。即使测试失败,也不会打印这些测试的详细信息(请记住pytest通常会打印失败的测试详细信息)。我们可以使用以下标记使测试失败-
@pytest.mark.xfail
跳过测试意味着将不会执行测试。我们可以使用以下标记跳过测试-
@pytest.mark.skip
稍后,当测试变得有意义时,我们可以删除标记。
编辑test_compare.py我们已经有包括xfail并跳过标记-
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
============================