Pytest 选择xfail测试或跳过测试
在本章中,我们将学习Pytest中的跳过和Xfail测试。
现在,考虑以下情况-
- 由于某些原因,某个测试在一段时间内不相关。
- 正在实现新功能,并且我们已经为该功能添加了测试。
在这些情况下,我们可以选择xfail测试或跳过测试。
Pytest将执行xfail测试,但它不会被视为失败或通过的部分测试。即使测试失败(记住,pytest通常会打印失败的测试详细信息),也不会打印这些测试的详细信息。我们可以使用以下标记来xfail测试-
@pytest.mark.xfail
跳过测试意味着该测试不会被执行。我们可以使用以下标记来跳过测试-
@pytest.mark.skip
以后,在测试变得相关时,我们可以删除标记。
编辑 test_compare.py ,我们已经包含xfail和skip标记 –
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
============================
Pytest教程目录索引
- Pytest 教程
- Pytest 简介
- Pytest 环境搭建
- Pytest 标识测试文件和测试函数
- Pytest 着手编写基本测试
- Pytest 文件执行
- Pytest 执行一部分测试套件
- Pytest 测试名称的子字符串匹配
- Pytest 分组测试
- Pytest fixture
- Pytest Conftest.py
- Pytest 参数化测试
- Pytest 选择xfail测试或跳过测试
- Pytest 在N个测试失败后停止测试套件
- Pytest 并行运行测试
- Pytest 以XML格式执行测试的结果
- Pytest 总结