pytest 常用命令参数

以下是 pytest 常用命令参数 的整理,涵盖测试运行、过滤、调试、报告等常见场景,方便你高效使用 pytest:


1. 基本测试运行

命令说明
pytest运行当前目录及子目录下所有测试(test_*.py*_test.py
pytest path/to/test_file.py运行指定测试文件
pytest path/to/test_dir/运行指定目录下的所有测试
pytest -v显示详细输出(每个测试用例的名称和结果)
pytest -s输出调试信息,包括输出print信息
pytest -q静默模式(只显示简要结果)
pytest -n多线程或分布式执行测试用例

2. 选择特定测试

命令说明
pytest -k "keyword"只运行名称包含 keyword 的测试(模糊匹配)
例:pytest -k "login" 匹配 test_login()TestLogin
pytest path/to/test_file.py::test_func运行指定文件的特定测试函数
pytest path/to/test_file.py::TestClass::test_method运行指定类的特定测试方法
pytest -m marker运行标记(mark)为 marker 的测试
需先在测试中用 @pytest.mark.marker 标记

3. 失败控制与调试

命令说明
pytest --lf--last-failed只重新运行上次失败的测试
pytest --ff--failed-first先运行上次失败的测试,再运行其他
pytest -x遇到第一个失败时停止测试
pytest --maxfail=2最多允许 2 次失败,之后停止
pytest --pdb测试失败时自动进入 pdb 调试器

4. 测试报告与输出

命令说明
pytest -rA显示所有测试结果的详细摘要
pytest --durations=5显示最慢的 5 个测试(性能分析)
pytest --cov=path/to/module生成代码覆盖率报告(需安装 pytest-cov
pytest --html=report.html生成 HTML 测试报告(需安装 pytest-html

5. 参数化与 Fixture

命令说明
pytest --fixtures查看所有可用的 fixture
pytest --setup-show显示测试的 fixture 执行顺序

6. 其他实用参数

命令说明
pytest --collect-only只列出所有测试用例,不执行
pytest --version查看 pytest 版本
pytest -h查看完整帮助文档

常用组合示例

  1. 快速重跑失败测试
    pytest --lf -v
    
  2. 只运行标记为 smoke 的测试
    pytest -m smoke
    
  3. 调试慢测试
    pytest --durations=10 -v
    
  4. 生成覆盖率报告
    pytest --cov=src --cov-report=html
    

配置文件(pytest.ini

可以在项目根目录创建 pytest.ini 文件,默认配置常用参数,例如:

[pytest]
addopts = -v --html=report.html
markers =smoke: 冒烟测试slow: 慢测试

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.pswp.cn/web/82321.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

利用openwrt路由器和随身WIFI搭建CPE

背景: 最近5GCPE挺火,各种硬件层出不穷,包括DY上很多商家在推的AX3000叠加展锐RM500 5G模块,自己组装CPE,成本也在300 看了下开源硬件,其实就是一个开源的openwrt系统,硬件上5G模块通过usb协议…

Python中使用pandas

使用Pandas进行数据处理和分析 Pandas是Python中最流行的数据处理和分析库之一。下面我将介绍Pandas的基本使用方法。 安装Pandas pip install pandas 基本数据结构 1. Series - 一维数组 import pandas as pd# 创建Series s pd.Series([1, 3, 5, 7, 9]) print(s) 2. D…

ISO18436-2 CATII级振动分析师能力矩阵

ISO18436-2021是当前针对针对分析师的一个标准,它对振动分析师的能力和知识体系做了4级分类,这里给出的是一家公司响应ISO18436的CATII级标准,做的一个专题培训的教学大纲。摘自: 【振動噪音產學技術聯盟】04/19-23 ISO 18436-2…

Qt实现的水波进度条和温度进度条

一.效果 二.原理 1.水波 要模拟波浪,就要首先画出一条波浪线,正弦余弦曲线就很适合。 y=A*sin(ω*x+φ)+k y=A*cos(ω*x+φ)+k 这是正弦余弦曲线的公式,要想实现水波效果,那需要两条曲线,一条曲线的波峰对着另外一条曲线的波谷,要实现这样的曲线效果,只有让正弦曲线前移…

《Python 应用中的蓝绿部署与滚动更新:持续集成中的实践与优化》

《Python 应用中的蓝绿部署与滚动更新:持续集成中的实践与优化》 引言 在现代软件开发中,持续集成与持续部署(CI/CD)已成为标准实践。面对频繁发布与升级需求,蓝绿部署和滚动更新两种策略为 Python 应用提供了稳定、安全的发布方式。本文将深入探讨这两种策略的原理、适…

4.2.2 Spark SQL 默认数据源

在本实战概述中,我们探讨了如何在 Spark SQL 中使用 Parquet 格式作为默认数据源。首先,我们了解了 Parquet 文件的存储特性,包括其二进制存储方式和内嵌的 Schema 信息。接着,通过一系列命令,我们演示了如何在 HDFS 上…

当前用户的Git本地配置情况:git config --local --list

通过config命令可以查询当前用户的本地配置情况。这些配置项定义了 Git 在当前仓库中的行为,包括文件权限处理、符号链接处理以及大小写敏感性等。 git config --local --list core.repositoryformatversion0 指定 Git 仓库的格式版本。版本 0 是最初的格式。 cor…

Flutter 包依赖升级指南:让项目保持最新状态

在 Flutter 开发过程中,依赖项管理是确保项目顺利运行和持续优化的关键环节。依赖项是项目中不可或缺的外部库,它们提供了各种功能,从 UI 组件到数据处理工具,帮助开发者快速构建应用。然而,随着时间的推移&#xff0c…

【深度学习】实验四 卷积神经网络CNN

实验四 卷积神经网络CNN 一、实验学时: 2学时 二、实验目的 掌握卷积神经网络CNN的基本结构;掌握数据预处理、模型构建、训练与调参;探索CNN在MNIST数据集中的性能表现; 三、实验内容 实现深度神经网络CNN。 四、主要实验步…

SpringBoot高校宿舍信息管理系统小程序

概述 基于SpringBoot的高校宿舍信息管理系统小程序项目,这是一款非常适合高校使用的信息化管理工具。该系统包含了完整的宿舍管理功能模块,采用主流技术栈开发,代码结构清晰,非常适合学习和二次开发。 主要内容 这个宿舍管理系…

Redis 难懂命令-- ZINTERSTORE

**背景:**学习的过程中 常用的redis命令都能快速通过官方文档理解 但是还是有一些比较难懂的命令 **目的:**写博客记录一下(当然也可以使用AI搜索) 在Redis中,ZINTERSTORE 是一个用于计算多个有序集合(So…

React 路由管理与动态路由配置实战

React 路由管理与动态路由配置实战 前言 在现代单页应用(SPA)开发中,路由管理已经成为前端架构的核心部分。随着React应用规模的扩大,静态路由配置往往难以满足复杂业务场景的需求,尤其是当应用需要处理权限控制、动态菜单和按需加载等高级…

【学习笔记】深度学习-梯度概念

一、定义 梯度向量不仅表示函数变化的速度,还表示函数增长最快的方向 二、【问】为什么说它表示方向? 三、【问】那在深度学习梯度下降的时候,还要判断梯度是正是负来更新参数吗? 假设某个参数是 w,损失函数对它的…

题海拾贝:P8598 [蓝桥杯 2013 省 AB] 错误票据

Hello大家好&#xff01;很高兴我们又见面啦&#xff01;给生活添点passion&#xff0c;开始今天的编程之路&#xff01; 我的博客&#xff1a;<但凡. 我的专栏&#xff1a;《编程之路》、《数据结构与算法之美》、《题海拾贝》 欢迎点赞&#xff0c;关注&#xff01; 1、题…

webpack的安装及其后序部分

npm install原理 这个其实就是npm从registry下载项目到本地&#xff0c;没有什么好说的 值得一提的是npm的缓存机制&#xff0c;如果多个项目都需要同一个版本的axios&#xff0c;每一次重新从registry中拉取的成本过大&#xff0c;所以会有缓存&#xff0c;如果缓存里有这个…

百度golang研发一面面经

输入一个网址&#xff0c;到显示界面&#xff0c;中间的过程是怎样的 IP 报文段的结构是什么 Innodb 的底层结构 知道几种设计模式 工厂模式 简单工厂模式&#xff1a;根据传入类型参数判断创建哪种类型对象工厂方法模式&#xff1a;由子类决定实例化哪个类抽象工厂模式&#…

使用 HTML + JavaScript 实现图片裁剪上传功能

本文将详细介绍一个基于 HTML 和 JavaScript 实现的图片裁剪上传功能。该功能支持文件选择、拖放上传、图片预览、区域选择、裁剪操作以及图片下载等功能&#xff0c;适用于需要进行图片处理的 Web 应用场景。 效果演示 项目概述 本项目主要包含以下核心功能&#xff1a; 文…

GO+RabbitMQ+Gin+Gorm+docker 部署 demo

更多个人笔记见&#xff1a; &#xff08;注意点击“继续”&#xff0c;而不是“发现新项目”&#xff09; github个人笔记仓库 https://github.com/ZHLOVEYY/IT_note gitee 个人笔记仓库 https://gitee.com/harryhack/it_note 个人学习&#xff0c;学习过程中还会不断补充&…

【安全】VulnHub靶场 - W1R3S

【安全】VulnHub靶场 - W1R3S 备注一、故事背景二、Web渗透1.主机发现端口扫描2.ftp服务3.web服务 三、权限提升 备注 2025/05/22 星期四 简单的打靶记录 一、故事背景 您受雇对 W1R3S.inc 个人服务器进行渗透测试并报告所有发现。 他们要求您获得 root 访问权限并找到flag&…

WEB安全--SQL注入--MSSQL注入

一、SQLsever知识点了解 1.1、系统变量 版本号&#xff1a;version 用户名&#xff1a;USER、SYSTEM_USER 库名&#xff1a;DB_NAME() SELECT name FROM master..sysdatabases 表名&#xff1a;SELECT name FROM sysobjects WHERE xtypeU 字段名&#xff1a;SELECT name …