欢迎访问宙启技术站
智能推送

Pytest命令行参数及选项详解

发布时间:2024-01-11 03:15:53

Pytest是一个功能强大且易于使用的Python测试框架。除了支持常规的测试方式外,Pytest还提供了丰富的命令行参数和选项,用于控制测试的行为。

以下是Pytest常用的命令行参数及选项的详细解释和使用示例:

1. --collect-only:仅收集测试用例而不执行它们。

$ pytest --collect-only

2. --verbose:显示详细的测试信息,包括每个测试用例的名称。

$ pytest --verbose

3. -k EXPRESSION:只运行测试名称与正则表达式匹配的测试用例。

$ pytest -k "test_login"

4. -m MARKEXPR:只运行具有特定标记的测试用例。

$ pytest -m "slow"

5. -x:遇到 个测试用例失败后立即停止测试。

$ pytest -x

6. --maxfail=num:在遇到指定数量的失败后立即停止测试。

$ pytest --maxfail=3

7. -s:允许在测试过程中打印输出。

$ pytest -s

8. --tb=style:设置traceback的显示样式,可选值有shortlineno

$ pytest --tb=line

9. --durations=num:显示最慢的N个测试用例的耗时(单位:秒)。

$ pytest --durations=3

10. --cov=PACKAGE:计算代码覆盖率,并输出报告。

$ pytest --cov=my_package

11. --cov-report=TYPE:指定代码覆盖率报告的类型,常见的有termhtmlxml

$ pytest --cov-report=html

12. --pdb:在测试失败时自动进入调试器。

$ pytest --pdb

13. --capture=method:控制标准输出和标准错误的捕获方式,可选值有nosysfdtee-systee-std

$ pytest --capture=tee-sys

14. --ignore=PATH:忽略指定路径下的测试文件或目录。

$ pytest --ignore=tests/legacy/

15. --ignore-glob=GLOB:忽略与指定的glob模式匹配的文件。

$ pytest --ignore-glob="*_legacy.py"

16. --doctest-modules:运行模块中的doctest测试。

$ pytest --doctest-modules

17. --junitxml=path:生成JUnitXML格式的测试报告。

$ pytest --junitxml=result.xml

以上是常用的Pytest命令行参数及选项的详细解释和使用示例。通过灵活配置这些参数和选项,可以更好地控制和管理测试用例的执行过程,并生成详细的测试报告。