pytest 参数介绍

news/2025/1/11 13:43:27/
命令行参数描述常见使用案例
-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.ppmy.cn/news/1562242.html

相关文章

电脑硬盘系统迁移及问题处理

一、系统迁移准备 1、确认你的电脑主板是否支持安装两块硬盘,如电脑主板有多个M2硬盘接口,我们将新硬盘安装到主板上,原来的老硬盘安装在第二个接口上,主板只有一个M2接口的话可以使用移动硬盘盒。 2、新硬盘安装好后,我们进入原来的系统,在 此电脑–右键–管理–磁盘管…

3.python基础语法-上

文章目录 1.常量和表达式2.变量和类型2.1.变量的语法2.1.1定义变量2.2.2使用变量 2.2变量类型2.2.1整数2.2.2浮点数(小数)2.2.3字符串2.2.4布尔2.2.5其他 2.3为什么要有这么多类型?2.4动态类型特性 3.注释3.1注释是什么3.2注释的语法3.2.1注释行3.2.2文档字符串 3.3注释的规范…

Python基于YOLOv8和OpenCV实现车道线和车辆检测

使用YOLOv8&#xff08;You Only Look Once&#xff09;和OpenCV实现车道线和车辆检测&#xff0c;目标是创建一个可以检测道路上的车道并识别车辆的系统&#xff0c;并估计它们与摄像头的距离。该项目结合了计算机视觉技术和深度学习物体检测。 1、系统主要功能 车道检测&am…

ASP.NET Core 实现微服务 -- Polly 服务降级熔断

在我们实施微服务之后&#xff0c;服务间的调用变的异常频繁。多个服务之间可能是互相依赖的关系。某个服务出现故障或者是服务间的网络出现故障都会造成服务调用的失败&#xff0c;进而影响到某个业务服务处理失败。某一个服务调用失败轻则造成当前相关业务无法处理&#xff1…

从configure.ac到构建环境:解析Mellanox OFED内核模块构建脚本

在软件开发过程中,特别是在处理复杂的内核模块如Mellanox OFED(OpenFabrics Enterprise Distribution)时,构建一个可移植且高效的构建系统至关重要。Autoconf和Automake等工具在此过程中扮演着核心角色。本文将深入解析一个用于准备Mellanox OFED内核模块构建环境的Autocon…

4 $ 符号

引用变量 普通变量&#xff1a;使用 $ 符号引用变量的值。name"John" echo "Hello, $name" # 输出: Hello, John特殊参数 $#&#xff1a;传递给脚本的参数个数。 echo "Number of arguments: $#"$0&#xff1a;脚本的名称。 echo "Script …

Java Spring Boot实现基于URL + IP访问频率限制

点击下载《Java Spring Boot实现基于URL IP访问频率限制(源代码)》 1. 引言 在现代 Web 应用中&#xff0c;接口被恶意刷新或暴力请求是一种常见的攻击手段。为了保护系统资源&#xff0c;防止服务器过载或服务不可用&#xff0c;需要对接口的访问频率进行限制。本文将介绍如…

C++例程:使用I/O模拟IIC接口(6)

完整的STM32F405代码工程I2C驱动源代码跟踪 一&#xff09;myiic.c #include "myiic.h" #include "delay.h" #include "stm32f4xx_rcc.h" //初始化IIC void IIC_Init(void) { GPIO_InitTypeDef GPIO_InitStructure;RCC_AHB1PeriphCl…