`pytest` 中一些常用的选项

下面列出的参数和功能涵盖了 pytest 中一些常用的选项,但 pytest 还有许多其他参数和功能。以下是一些补充的 pytest 命令行参数和功能:

其他命令行参数

  1. 测试配置

    • --confcutdir=<path>: 只加载指定目录及其子目录中的配置文件。例如 --confcutdir=src。
    • --rootdir=<path>: 设置根目录,这会影响 pytest 查找配置文件的方式。例如 --rootdir=tests。
  2. 插件相关

    • --disable-warnings: 禁用警告输出。
    • --version: 显示 pytest 的版本信息。
    • --help: 显示所有可用的命令行参数和选项的帮助信息。
  3. 参数化

    • --tb=<style>: 设置 traceback 样式,short、long、line 和 no。
    • --trace: 使用 Python 的调试器 pdb 调试失败的测试。
  4. 插件管理

    • --plugins: 显示已安装的插件及其版本信息。
    • --maxfail=<num>: 在失败的测试数达到 <num> 后停止测试(如之前所述)。
  5. 性能和并行

    • --slow: 可以与自定义标记结合使用,用于运行标记为 slow 的测试。
    • --numprocesses=<num>: 与 pytest-xdist 插件结合使用,指定并行测试进程的数量。例如 --numprocesses=4。
  6. 测试运行

    • --disable-warnings: 禁用警告信息的输出。
    • --reruns=<num>: 失败的测试用例重新执行 <num> 次。需要安装 pytest-rerunfailures 插件。例如 --reruns=2。

完整的示例

下面是一个更复杂的示例命令,结合了多种选项:

bash 复制代码
pytest test_demo.py --count=3 --html=report.html --log-cli-level=INFO --maxfail=2 --disable-warnings --tb=short -n 4

这个命令:

  • 执行 test_demo.py 中的所有测试用例,每个用例执行 3 次。
  • 生成 HTML 格式的测试报告,文件名为 report.html。
  • 设置日志记录级别为 INFO。
  • 在测试失败达到 2 次时停止测试。
  • 禁用警告信息的输出。
  • 使用 short 风格的 traceback。
  • 使用 4 个并行线程执行测试(需要安装 pytest-xdist 插件)。

pytest 的功能非常丰富,具体使用哪些参数可以根据你的测试需求来选择。你可以使用 pytest --help 命令查看所有可用的参数和选项。

相关推荐
撩得Android一次心动6 小时前
Jetpack Compose 知识点整理3【个人用】
android·笔记·学习·kotlin·android compose
miofly6 小时前
GitHub 今日推荐|MOSS-Image:靠坐标框精确控制文字排版的图像生成模型
python·开源·github
Tiandaren6 小时前
么是agent、为什么要做agent、怎么做agent、怎么工程化
人工智能·python·深度学习·大模型
Kapaseker6 小时前
别再只会写 <T>:Kotlin 泛型的实战用法
android·kotlin
张张123y6 小时前
后端第十一课:RAG 落地实战(从 0 到 1 接上私有知识库,并设计一个好用的 RAG)
开发语言·人工智能·python·机器学习·fastapi·rag
golang学习记6 小时前
Python vs Go:2026年到底该怎么选
java·vscode·python·golang·pycharm·goland
FlightYe6 小时前
音视频修炼之容器与协议(一):MP4和MOV的box剖析
android·linux·c++·ffmpeg·音视频
江厌016 小时前
移动工作站还是塔式?用三个数判断工位形态,再谈配置
python·移动工作站·塔式工作站·工作站选型·isv认证
川石课堂软件测试6 小时前
涨薪技术|0到1学会性能测试第8课-Analysis分析图
服务器·数据库·python·sql·jmeter·mysql·容器
学编程的小程7 小时前
服务器日志太分散不好查?我用Promtail+Loki+Grafana把采集、查询和分析串起来了
服务器·python·grafana