- Pytest教程
- Pytest - 主页
- Pytest - 简介
- Pytest - 环境设置
- 识别测试文件和函数
- Pytest - 从基本测试开始
- Pytest - 文件执行
- 执行测试套件的子集
- 测试名称的子字符串匹配
- Pytest - 对测试进行分组
- Pytest - 装置
- Pytest-Conftest.py
- Pytest - 参数化测试
- Pytest - Xfail/跳过测试
- N 次测试失败后停止测试套件
- Pytest - 并行运行测试
- XML 格式的测试执行结果
- Pytest - 总结
- Pytest - 结论
- Pytest 有用的资源
- Pytest - 快速指南
- Pytest - 有用的资源
- Pytest - 讨论
测试名称的子字符串匹配
要执行名称中包含字符串的测试,我们可以使用以下语法 -
pytest -k <substring> -v
-k <substring> 表示要在测试名称中搜索的子字符串。
现在,运行以下命令 -
pytest -k great -v
这将执行名称中包含“great”一词的所有测试名称。在本例中,它们是test_greater()和test_greater_equal()。请参阅下面的结果。
test_compare.py::test_greater FAILED test_compare.py::test_greater_equal PASSED ============================================== FAILURES ============================================== ____________________________________________ test_greater ____________________________________________ def test_greater(): num = 100 > assert num > 100 E assert 100 > 100 test_compare.py:3: AssertionError ========================== 1 failed, 1 passed, 3 deselected in 0.07 seconds ==========================
在结果中,我们可以看到 3 个测试被取消选择。这是因为这些测试名称中不包含“伟大”一词。
注意- 测试函数的名称仍应以“test”开头。