`pytest` 中一些常用的选项

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

其他命令行参数

  1. 测试配置

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

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

    • --tb=<style>: 设置 traceback 样式,shortlonglineno
    • --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 命令查看所有可用的参数和选项。

相关推荐
学习3人组7 分钟前
Workerman实现 WSS 基于客户端 ID 的精准推送
android·java·开发语言
cowice16 分钟前
Python基础知识
python
阿拉斯攀登19 分钟前
第 11 篇 RK 平台安卓驱动实战 4:I2C 设备驱动开发,以 OLED 屏为例
android·驱动开发·i2c·瑞芯微·嵌入式驱动·rk3576·嵌入式安卓
阿_旭27 分钟前
基于YOLO26深度学习的铁轨部件缺陷检测与语音提示系统【python源码+Pyqt5界面+数据集+训练代码】
人工智能·python·深度学习·铁轨部件缺陷检测
不只会拍照的程序猿30 分钟前
《嵌入式AI筑基笔记02:Python数据类型02,从C的“硬核”到Python的“包容”》
开发语言·笔记·python
段娇娇39 分钟前
Android jetpack LiveData (二) 原理篇
android·android jetpack
qq_416018721 小时前
用户认证与授权:使用JWT保护你的API
jvm·数据库·python
我命由我123451 小时前
Android 多进程开发 - FileDescriptor、Uri、AIDL 接口定义不能抛出异常
android·java·java-ee·kotlin·android studio·android-studio·android runtime
王夏奇1 小时前
笔记-关于python复习
python
AC赳赳老秦1 小时前
OpenClaw 全平台安装详解:Windows 10/11、macOS、Linux 零踩坑指南 (附一键脚本)
大数据·人工智能·python·django·去中心化·ai-native·openclaw