- Pytest 教程
- Pytest - 首页
- Pytest - 简介
- Pytest - 环境设置
- 识别测试文件和函数
- Pytest - 开始进行基本测试
- Pytest - 文件执行
- 执行一个子集的测试套件
- 测试名称的子串匹配
- Pytest - 分组测试
- Pytest - 装置
- Pytest - Conftest.py
- Pytest - 参数化测试
- Pytest - Xfail/Skip 测试
- 在 N 次测试失败后停止测试套件
- Pytest - 并行运行测试
- XML 中的测试执行结果
- Pytest - 摘要
- Pytest - 结论
- Pytest 有用资源
- Pytest - 快速指南
- Pytest - 有用资源
- Pytest - 讨论
Pytest - Xfail/Skip 测试
在本章中,我们将学习 Pytest 中的 Skip 和 Xfail 测试。
现在,考虑以下情况 −
- 由于某些原因,测试在一段时间内不再相关。
- 正在实现一个新功能,我们已经为该功能添加了测试。
在这些情况下,我们可以选择 xfail 测试或跳过测试。
Pytest 将执行 xfail 测试,但不会将它视为已失败或已通过的测试的一部分。即使测试失败,也不会打印这些测试的详细信息(请记住,pytest 通常会打印已失败测试的详细信息)。我们可使用以下标记来 xfail 测试 −
@pytest.mark.xfail
跳过测试意味着不执行该测试。我们可使用以下标记来跳过测试 −
@pytest.mark.skip
稍后,当测试变得相关时,我们可以移除这些标记。
编辑我们已经包含 xfail 和 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 ============================
广告