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> | 控制错误回溯的输出格式,选项包括 short、long、no、line | pytest --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 | 列出当前项目中所有的 fixtures | pytest --fixtures |
-h | 显示 pytest 的帮助信息,列出所有可用的命令行参数 | pytest -h |
常见使用案例说明
-
显示详细信息:
-v/--verbose- 用途:在执行测试时显示详细的测试结果,包括每个测试的名称、结果(通过或失败)。
- 使用示例:
pytest -v
- 输出示例:
test_add.py::test_addition PASSED test_add.py::test_subtraction FAILED
-
禁用输出捕获:
-s/--capture=no- 用途:禁用 pytest 的输出捕获功能,确保
print()输出会显示在控制台中。 - 使用示例:
pytest -s
- 输出示例:
Test started <stdout>: Some debug information
- 用途:禁用 pytest 的输出捕获功能,确保
-
按测试名称过滤:
-k- 用途:只运行名称匹配指定表达式的测试函数,可以基于函数名进行灵活的过滤。
- 使用示例:
pytest -k "add"
- 说明: 运行名称中包含
add的所有测试,如test_add或test_addition。
-
运行特定标记的测试:
-m- 用途:运行所有带有特定标记的测试,如
smoke、regression等。 - 使用示例:
pytest -m "smoke"
- 说明: 只运行带有
@pytest.mark.smoke标记的测试。
- 用途:运行所有带有特定标记的测试,如
-
最大失败次数:
--maxfail- 用途:限制测试失败的最大次数,如果失败次数超过指定值,则停止测试执行。
- 使用示例:
pytest --maxfail=2
- 说明: 运行最多两个失败的测试,超过两次失败则停止执行。
-
禁用警告信息:
--disable-warnings- 用途:禁用所有测试中的警告信息,保持输出简洁。
- 使用示例:
pytest --disable-warnings
- 输出示例:
Test passed
-
生成 HTML 报告:
--html- 用途:生成 HTML 格式的测试报告,便于查看和分享测试结果。
- 使用示例:
pytest --html=report.html
- 说明: 生成一个
report.html的测试报告。
-
跳过特定测试:
--ignore- 用途:跳过指定的测试文件或目录,常用于忽略不需要执行的测试。
- 使用示例:
pytest --ignore=tests/test_ignored.py
-
生成 JUnit XML 报告:
--junitxml- 用途:生成 JUnit XML 格式的报告,通常用于 CI/CD 集成。
- 使用示例:
pytest --junitxml=result.xml
-
指定测试覆盖率:
--cov- 用途:生成代码覆盖率报告,用于分析测试覆盖了代码的哪些部分。
- 使用示例:
pytest --cov=my_module
通过结合这些命令行参数,pytest 可以在实际测试过程中提供更多灵活的控制和更详细的输出报告。
相关文章:
pytest 参数介绍
命令行参数描述常见使用案例-v / --verbose显示每个测试用例的详细信息,包括测试名称和状态pytest -v-s / --captureno禁用输出捕获,允许 print() 输出显示pytest -s-q / --quiet安静模式,减少输出,仅显示每个测试的通过/失败结果…...
源代码编译安装X11及相关库、vim,配置vim(1)
一、目录结构 如下。 所有X11及相关库装到mybuild,源代码下载到src下,解压,进入,编译安装。编译时指定--prefix到相同的目录,即上图中mybuild。 ./configure --prefixpwd/../../mybuild [CFLAGS"-I/path/to/X11…...
Node.js JXcore 打包教程
Node.js JXcore 打包教程 介绍 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它允许开发者使用 JavaScript 编写服务器端和网络应用程序。JXcore 是一个流行的 Node.js 发行版,它支持将 Node.js 应用程序打包成单一的可执行文件,使得部署和分发变得更加容易…...
windows 下基于docker 部署 guacamole
背景 Apache Guacamole 是一种无客户端或插件的远程桌面网关。它支持多个标准协议,如 VNC、RDP 和 SSH等。记录下部署过程。 步骤 1, 安装docker desktop choco install docker-desktop -y 注: 若windows 11还未安装wsl,则需要…...
『SQLite』子查询可以这样用
摘要:本节主要讲子查询的使用,可以在查询、更新、修改、删除等操作中使用。 什么是子查询? 子查询是一种在 SELECT-SQL 语言中嵌套查询下层的程序模块。当一个查询是另一个查询的条件时,称之为子查询(Sub Query&#…...
夯实前端基础之HTML篇
知识点概览 HTML部分 1. DOM和BOM有什么区别? DOM(Document Object Model) 当网页被加载时,浏览器会创建页面的对象文档模型,HTML DOM 模型被结构化为对象树 用途: 主要用于网页内容的动态修改和交互&…...
VVenC 编码器源码结构与接口函数介绍
VVenC VVenC(Fraunhofer Versatile Video Encoder)是由德国弗劳恩霍夫海因里希研究所(Fraunhofer Heinrich Hertz Institute, HHI)开发的一个开源的高效视频编码器。它实现了最新的视频编码标准——Versatile Video Coding (VVC)…...
【C++习题】20. 两个数组的交集
题目:349. 两个数组的交集 - 力扣(LeetCode) 链接🔗:349. 两个数组的交集 - 力扣(LeetCode) 题目: 代码: class Solution { public:// 函数功能:求两个数组…...
小R的蛋糕分享
小R的蛋糕分享 问题描述 小R手里有一个大小为 n 行 m 列的矩形蛋糕,每个小正方形区域都有一个代表美味度的整数。小R打算切割出一个正方形的小蛋糕给自己,而剩下的部分将给小S。她希望两人吃的部分的美味度之和尽量接近。 我们定义小R吃到的部分的美味度…...
基于Arduino的FPV头部追踪相机系统
构建FPV头部追踪相机:让你置身于遥控车辆之中! 在遥控车辆和模型飞行器的世界中,第一人称视角(FPV)体验一直是爱好者们追求的目标。通过FPV头部追踪相机,你可以像坐在车辆或飞行器内部一样,自由…...
使用 PyTorch 自定义数据集并划分训练、验证与测试集
使用 PyTorch 自定义数据集并划分训练、验证与测试集 在图像分类等任务中,通常需要将原始训练数据进一步划分为训练集和验证集,以便在训练过程中评估模型的性能。下面将详细介绍如何组织数据与注释文件、如何分割训练集和验证集,以及如何基于…...
VSCode 插件
VSCode 插件 1. GitHub Copilot - AI 代码助手 功能:根据上下文提供实时代码补全,支持自然语言转代码,提供符合现代编程规范的建议。进阶技巧: 使用快捷键 Alt ] 切换多个建议。写注释时,描述业务逻辑而不是具体实现…...
Windows使用AutoHotKey解决鼠标键连击现象(解决鼠标连击、单击变双击的故障)
注:罗技鼠标,使用久了之后会出现连击现象,如果刚好过保了,可以考虑使用软件方案解决连击现象: 以下是示例AutoHotKey脚本,实现了调用XButton1用于关闭窗口(以及WinW,XButton2也导向…...
Linux 环境(Ubuntu)部署 Hadoop 环境
前置准备 准备三台机器 cat /etc/hosts 192.168.1.7 hadoop-master 192.168.1.11 hadoop-slave01 192.168.1.12 hadoop-slave02Linux 环境 cat /etc/os-release PRETTY_NAME"Ubuntu 24.10" NAME"Ubuntu" VERSION_ID"24.10" VERSION"24.…...
如何在Windows 11 WSL2 Ubuntu 环境下安装和配置perf性能分析工具?
在Windows 11 WSL2 Ubuntu 环境下完整安装和配置perf性能分析工具 一、背景二、准备工作三、获取并编译Linux内核源码四、安装和配置perf五、测试perf六、总结 一、背景 由于WSL2使用的是微软定制的内核,并非标准的Ubuntu内核,因此直接使用apt安装linux…...
Docker运维高级容器技术知识点总结
1、虚拟机部署和容器化部署的区别是什么? 1、技术基础: <1>.虚拟化技术在物理硬件上创建虚拟机,每台虚拟机运行自己完整的操作系统、从而实现资源隔离。 <2>.容器化技术:将应用程序打包在容器内,在进程空间…...
react-quill 富文本组件编写和应用
index.tsx文件 import React, { useRef, useState } from react; import { Modal, Button } from antd; import RichEditor from ./RichEditor;const AnchorTouchHistory: React.FC () > {const editorRef useRef<any>(null);const [isModalVisible, setIsModalVis…...
LabVIEW轴承性能测试系统
本文介绍了基于LabVIEW的高效轴承性能测试系统的设计与开发。系统通过双端驱动技术实现高精度同步控制,针对轴承性能进行全面的测试与分析,以提高轴承的可靠性和寿命。 项目背景 随着工业自动化程度的提高,对轴承的性能要求越来越高。传统的…...
【《游戏编程模式》实战04】状态模式实现敌人AI
目录 1、状态模式 2、使用工具 3、状态模式适用范围 4、实现内容 5、代码及思路 Enemy.cs EnemyState.cs 6、unity里的设置 7、运行效果展示 1、状态模式 “允许一个对象在其内部状态改变时改变自身的行为。对象看起来好像是在修改自身类。” 就是一个对象能随着自己…...
借助免费GIS工具箱轻松实现las点云格式到3dtiles格式的转换
在当今数字化浪潮下,地理信息系统(GIS)技术日新月异,广泛渗透到城市规划、地质勘探、文化遗产保护等诸多领域。而 GISBox 作为一款功能强大且易用的 GIS 工具箱,以轻量级、免费使用、操作便捷等诸多优势,为…...
VTK如何让部分单位不可见
最近遇到一个需求,需要让一个vtkDataSet中的部分单元不可见,查阅了一些资料大概有以下几种方式 1.通过颜色映射表来进行,是最正规的做法 vtkNew<vtkLookupTable> lut; //值为0不显示,主要是最后一个参数,透明度…...
【C语言练习】080. 使用C语言实现简单的数据库操作
080. 使用C语言实现简单的数据库操作 080. 使用C语言实现简单的数据库操作使用原生APIODBC接口第三方库ORM框架文件模拟1. 安装SQLite2. 示例代码:使用SQLite创建数据库、表和插入数据3. 编译和运行4. 示例运行输出:5. 注意事项6. 总结080. 使用C语言实现简单的数据库操作 在…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
【RockeMQ】第2节|RocketMQ快速实战以及核⼼概念详解(二)
升级Dledger高可用集群 一、主从架构的不足与Dledger的定位 主从架构缺陷 数据备份依赖Slave节点,但无自动故障转移能力,Master宕机后需人工切换,期间消息可能无法读取。Slave仅存储数据,无法主动升级为Master响应请求ÿ…...
Android15默认授权浮窗权限
我们经常有那种需求,客户需要定制的apk集成在ROM中,并且默认授予其【显示在其他应用的上层】权限,也就是我们常说的浮窗权限,那么我们就可以通过以下方法在wms、ams等系统服务的systemReady()方法中调用即可实现预置应用默认授权浮…...
在WSL2的Ubuntu镜像中安装Docker
Docker官网链接: https://docs.docker.com/engine/install/ubuntu/ 1、运行以下命令卸载所有冲突的软件包: for pkg in docker.io docker-doc docker-compose docker-compose-v2 podman-docker containerd runc; do sudo apt-get remove $pkg; done2、设置Docker…...
pikachu靶场通关笔记22-1 SQL注入05-1-insert注入(报错法)
目录 一、SQL注入 二、insert注入 三、报错型注入 四、updatexml函数 五、源码审计 六、insert渗透实战 1、渗透准备 2、获取数据库名database 3、获取表名table 4、获取列名column 5、获取字段 本系列为通过《pikachu靶场通关笔记》的SQL注入关卡(共10关࿰…...
蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
深度学习习题2
1.如果增加神经网络的宽度,精确度会增加到一个特定阈值后,便开始降低。造成这一现象的可能原因是什么? A、即使增加卷积核的数量,只有少部分的核会被用作预测 B、当卷积核数量增加时,神经网络的预测能力会降低 C、当卷…...
