pytest 的常用命令行参数
以下是 pytest
的常用命令行参数详解,可以更高效地运行和管理测试用例:
一、基础运行参数
- 指定运行范围路径/文件/类/函数 直接指定测试目录、文件、测试类或测试函数名,如:
二、运行与输出控制
- -v / --verbose显示详细输出(每个测试用例的名称和结果)。
- -q / --quiet简化输出(仅显示总体结果)。
- -s禁止捕获标准输出和标准错误(显示 print 语句的输出)。
- --disable-warnings忽略警告信息。
- --showlocals测试失败时,打印局部变量值(方便调试)。
三、失败处理
- --lf / --last-failed仅重新运行上次失败的用例。
- --ff / --failed-first先运行上次失败的用例,再运行其他用例。
- -x / --exitfirst遇到第一个失败后立即停止测试。
- --maxfail=N允许最多失败 N 次后停止测试。
四、测试标记与过滤
- -m MARKEXPR仅运行指定标记的测试用例。示例:
- -k EXPRESSION通过关键字表达式筛选用例(匹配用例名称)。示例:
五、覆盖率与报告
- --cov=PATH生成代码覆盖率报告(需安装 pytest-cov)。示例:
- --html=report.html生成 HTML 测试报告(需安装 pytest-html)。
六、并行测试
-n NUM
使用多进程并行运行测试(需安装pytest-xdist
)。 示例:
七、调试参数
- --pdb测试失败时自动进入调试器(pdb)。
- --trace在每条测试用例执行前进入调试器。
八、配置文件与插件
- --strict-markers严格检查标记(确保所有 @pytest.mark.xxx 已在配置中注册)。
- --fixtures显示所有可用 fixture 及其作用域。
九、参数化与重复运行
- --count=N重复运行测试 N 次(用于检测偶现错误,需安装 pytest-repeat)。
- --looponfail监控文件变化,自动重新运行失败的测试(需安装 pytest-xdist)。
十、其他常用参数
- --durations=N显示最慢的 N 条测试用例(按执行时间排序)。
- --junit-xml=path生成 JUnit 格式的 XML 报告(适用于 CI/CD 集成)。
小提示
- 查看完整参数列表:运行
pytest --help
。 - 配置文件:在
pytest.ini
中配置默认参数(如addopts = -v --color=yes
)。 - 插件生态:通过插件扩展功能(如
pytest-selenium
,pytest-asyncio
等)。
通过这些参数,可以灵活控制测试的运行方式、输出格式和调试行为,提升测试效率!
高级测试工程师进阶之路 文章被收录于专栏
1- pytest 自动化测试框架详解 2- 性能测试 jmeter详解 3- 测试进阶必备指南