pytest 的常用命令行参数

以下是 pytest 的常用命令行参数详解,可以更高效地运行和管理测试用例:

一、基础运行参数

  1. 指定运行范围路径/文件/类/函数 直接指定测试目录、文件、测试类或测试函数名,如:

二、运行与输出控制

  1. -v / --verbose显示详细输出(每个测试用例的名称和结果)。
  2. -q / --quiet简化输出(仅显示总体结果)。
  3. -s禁止捕获标准输出和标准错误(显示 print 语句的输出)。
  4. --disable-warnings忽略警告信息。
  5. --showlocals测试失败时,打印局部变量值(方便调试)。

三、失败处理

  1. --lf / --last-failed仅重新运行上次失败的用例。
  2. --ff / --failed-first先运行上次失败的用例,再运行其他用例。
  3. -x / --exitfirst遇到第一个失败后立即停止测试。
  4. --maxfail=N允许最多失败 N 次后停止测试。

四、测试标记与过滤

  1. -m MARKEXPR仅运行指定标记的测试用例。示例:
  2. -k EXPRESSION通过关键字表达式筛选用例(匹配用例名称)。示例:

五、覆盖率与报告

  1. --cov=PATH生成代码覆盖率报告(需安装 pytest-cov)。示例:
  2. --html=report.html生成 HTML 测试报告(需安装 pytest-html)。

六、并行测试

  1. -n NUM 使用多进程并行运行测试(需安装 pytest-xdist)。 示例:

七、调试参数

  1. --pdb测试失败时自动进入调试器(pdb)。
  2. --trace在每条测试用例执行前进入调试器。

八、配置文件与插件

  1. --strict-markers严格检查标记(确保所有 @pytest.mark.xxx 已在配置中注册)。
  2. --fixtures显示所有可用 fixture 及其作用域。

九、参数化与重复运行

  1. --count=N重复运行测试 N 次(用于检测偶现错误,需安装 pytest-repeat)。
  2. --looponfail监控文件变化,自动重新运行失败的测试(需安装 pytest-xdist)。

十、其他常用参数

  1. --durations=N显示最慢的 N 条测试用例(按执行时间排序)。
  2. --junit-xml=path生成 JUnit 格式的 XML 报告(适用于 CI/CD 集成)。

小提示

  • 查看完整参数列表:运行 pytest --help
  • 配置文件:在 pytest.ini 中配置默认参数(如 addopts = -v --color=yes)。
  • 插件生态:通过插件扩展功能(如 pytest-selenium, pytest-asyncio 等)。

通过这些参数,可以灵活控制测试的运行方式、输出格式和调试行为,提升测试效率!

高级测试工程师进阶之路 文章被收录于专栏

1- pytest 自动化测试框架详解 2- 性能测试 jmeter详解 3- 测试进阶必备指南

全部评论

相关推荐

评论
点赞
2
分享

创作者周榜

更多
牛客网
牛客企业服务