当前位置: 首页 > article >正文

pytest 参数介绍

命令行参数描述常见使用案例
-v / --verbose显示每个测试用例的详细信息,包括测试名称和状态pytest -v
-s / --capture=no禁用输出捕获,允许 print() 输出显示pytest -s
-q / --quiet安静模式,减少输出,仅显示每个测试的通过/失败结果pytest -q
-k <expression>根据指定的表达式运行匹配的测试,支持匹配测试函数名称或类名pytest -k "test_add"
-m <markexpr>运行具有指定标记的测试,用于过滤测试,如 smoke 标记的测试pytest -m smoke
--maxfail=<num>设置最大失败次数,超过次数则停止执行测试pytest --maxfail=3
--disable-warnings禁用警告信息输出pytest --disable-warnings
--tb=<style>控制错误回溯的输出格式,选项包括 shortlongnolinepytest --tb=short
--capture=<mode>控制标准输出捕获方式,no 禁用,fd 捕获标准输出和错误,sys 捕获标准输出等pytest --capture=no
-p加载插件。用于在命令行中加载指定插件,如 -p no:warnings 禁用警告插件pytest -p no:warnings
--runxfail标记预期会失败的测试。如果测试失败不会被计入总失败次数,如果通过则为错误pytest --runxfail
--junitxml=<file>生成 JUnit XML 格式的测试报告,用于 CI/CD 集成pytest --junitxml=report.xml
--html=<file>生成 HTML 格式的测试报告(需要安装 pytest-html 插件)pytest --html=report.html
--cov=<module>生成代码覆盖率报告(需要安装 pytest-cov 插件)pytest --cov=my_module
--ignore=<path>忽略指定的测试文件或目录。可以用于跳过不需要执行的测试pytest --ignore=tests/test_ignored.py
--setup-show显示每个测试的 setup 和 teardown 步骤pytest --setup-show
--trace追踪每个测试的执行顺序(适用于有复杂依赖关系的测试)pytest --trace
--fixtures列出当前项目中所有的 fixturespytest --fixtures
-h显示 pytest 的帮助信息,列出所有可用的命令行参数pytest -h

常见使用案例说明

  1. 显示详细信息:-v / --verbose

    • 用途:在执行测试时显示详细的测试结果,包括每个测试的名称、结果(通过或失败)。
    • 使用示例:
      pytest -v
      
    • 输出示例:
      test_add.py::test_addition PASSED
      test_add.py::test_subtraction FAILED
      
  2. 禁用输出捕获:-s / --capture=no

    • 用途:禁用 pytest 的输出捕获功能,确保 print() 输出会显示在控制台中。
    • 使用示例:
      pytest -s
      
    • 输出示例:
      Test started
      <stdout>: Some debug information
      
  3. 按测试名称过滤:-k

    • 用途:只运行名称匹配指定表达式的测试函数,可以基于函数名进行灵活的过滤。
    • 使用示例:
      pytest -k "add"
      
    • 说明: 运行名称中包含 add 的所有测试,如 test_addtest_addition
  4. 运行特定标记的测试:-m

    • 用途:运行所有带有特定标记的测试,如 smokeregression 等。
    • 使用示例:
      pytest -m "smoke"
      
    • 说明: 只运行带有 @pytest.mark.smoke 标记的测试。
  5. 最大失败次数:--maxfail

    • 用途:限制测试失败的最大次数,如果失败次数超过指定值,则停止测试执行。
    • 使用示例:
      pytest --maxfail=2
      
    • 说明: 运行最多两个失败的测试,超过两次失败则停止执行。
  6. 禁用警告信息:--disable-warnings

    • 用途:禁用所有测试中的警告信息,保持输出简洁。
    • 使用示例:
      pytest --disable-warnings
      
    • 输出示例:
      Test passed
      
  7. 生成 HTML 报告:--html

    • 用途:生成 HTML 格式的测试报告,便于查看和分享测试结果。
    • 使用示例:
      pytest --html=report.html
      
    • 说明: 生成一个 report.html 的测试报告。
  8. 跳过特定测试:--ignore

    • 用途:跳过指定的测试文件或目录,常用于忽略不需要执行的测试。
    • 使用示例:
      pytest --ignore=tests/test_ignored.py
      
  9. 生成 JUnit XML 报告:--junitxml

    • 用途:生成 JUnit XML 格式的报告,通常用于 CI/CD 集成。
    • 使用示例:
      pytest --junitxml=result.xml
      
  10. 指定测试覆盖率:--cov

    • 用途:生成代码覆盖率报告,用于分析测试覆盖了代码的哪些部分。
    • 使用示例:
      pytest --cov=my_module
      

通过结合这些命令行参数,pytest 可以在实际测试过程中提供更多灵活的控制和更详细的输出报告。


http://www.kler.cn/a/474285.html

相关文章:

  • 网络基础1 http1.0 1.1 http/2的演进史
  • VSCode Live Server 插件安装和使用
  • 【QT-QTableView实现鼠标悬浮(hover)行高亮显示+并设置表格样式】
  • 洛谷:P1540 [NOIP2010 提高组] 机器翻译
  • reducer同步,dispatch异步
  • 用豆包MarsCode IDE打造精美数据大屏:从零开始的指南
  • CSS 变量:让你的样式更灵活、更易维护
  • 05容器篇(D2_集合 - D4_遍历相关)
  • buildroot ffmpeg 及 PJSIP安装使用详解
  • 前端通过后端返回的数据流下载文件
  • ChatGPT 数据分析与处理使用详解
  • ffmpeg视频抽帧和合成
  • 【VS2022】(C#,WinForm)上位机打包为安装包
  • 25/1/5 算法笔记<强化学习> MPC,交叉熵法,PETS算法
  • 实时数仓:Flink 任务实现、Hudi 表设计细节或治理工具的具体配置
  • DC/AC并网逆变器模型与仿真MATLAB
  • 计算机网络——网络层—IP数据报与分片
  • 高光谱相机的特点
  • JDK 17 模块化系统:构建可维护大型项目的基石
  • 关机重启后,GitLab服务异常
  • Yolo11改进:注意力改进|Block改进|ESSAformer,用于高光谱图像超分辨率的高效Transformer|即插即用
  • 本地LLM部署--Open WebUI(多媒体工具FFMPEG作用)
  • uniapp使用chooseLocation安卓篇
  • Ruby语言的数据类型
  • 给Kkfileview加请求头鉴权接入
  • docker 常用命令实践DEMO