Pytest三种运行方式

Pytest 运行方式共有三种:

1、主函数模式

  • 运行所有 pytest.main()

  • 指定模块 pytest.main('[-vs],','./testcase/test_day1.py')  只运行testcase 下的test_day1.py 文件

  • 指定目录 pytest.main('[-vs]'),'./testcase')    只运行testcase 目录下的文件

  • 通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成

  1. 执行某个类:pytest 文件名.py::类名  例如: #pytest.main(["-vs"],'./interface_testcase/test_day3.py::TestLogin')

  2. 执行某个方法:pytest 文件名.py::类名::方法名  例如:#pytest.main(["-vs"],'./interface_testcase/test_day3.py::TestLogin::test_01_qianghong1')

  3. 执行模块中某个方法:pytest 文件名.py::方法名  例如:#pytest.main(["-vs"],'./interface_testcase/test_day3.py::test_demo11')

2、命令行模式

(1)运行所有:pytest

(2)指定模块 pytest -vs ./testcase/test_day1.py

(3)指定目录 pytest -vs ./testcase

(4)通过nodeid指定用例运行:nodeid由模块名,分隔符,类名,方法名,函数名组成

pytest -vs ./interface_testcase/test_day3.py::test_demo11

pytest -vs ./interface_testcase/test_day3.py::TestLogin::test_01_qianghong1

参数详解:

-s:表示输出调试信息,包括print打印的信息

-v显示更详细的信息

-vs一起使用

-n支持多线程或者分布式运行测试用例

#如 #pytest.main(['-vs','./testcase/test_day1.py','-n=2'])

# pytest -vs ./testcase/test_day1.py -n 2

#reruns==number 表示失败用例重跑

#pytest -vs ./testcase/test_day2.py --reruns 2

#pytest.main(['–vs','./testcase/test_day2.py',‘reruns=2']) #失败得的用例重跑两次

#-x表示只要一个用例报错,那么测试停止运行

#–maxfail=2 出现两个失败用例停止

#-k 根据测试用例的部分字符串指定测试用例

pytest -vs test_day2 -k “yang”

3、通过读取pytest ini配置文件运行 (最主要运用的方式)

#pytest.ini是pytest单元测试框架中的核心配置文件

(1)位置:一般是放在项目的根目录

(2)编码:必须是ANSI,可以使用notepad++来修改编码格式

(3)作用:改变pytest的默认行为

(4)运行的规则:不管是主函数的模式运行该,命令行模式,都会区读取这个配置文件

常用参数

addopts 命令行的参数,用空格分隔

testpaths 测试用例的路径

markers 标记参数,赋值方式为 key:value

python_files 模块的命名规则 xx.py

python_classes 类名的命名规则 Xxx

 python_functions 方法的命名规则 **

required_plugins 插件的使用

xfail_strict = true 禁用xpass

addopts: OPTS 命令行参数集

-s:表示输出调试信息,包括 print打印的信息
-v:显示更详细的信息
-vs:这两个参数一起用
-n :支持多线程或者分布式运行测试用例
     如:pytest -vs ./testcase/test_login.py -2
--html : 测试报告位置
--reruns : 失败重跑
-p no:warnings  : 取消警告
--ff : 先执行上次失败的用例
--lf : 只执行上次失败的用例
-x : 遇到测试用例fail,就结束测试
--maxfail=num:遇到num条测试用例fail, 就结束测试
-k :根据测试用例的部分字符串指定测试用例
    如:pytest -vs ./testcase -k “ao”

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Cmder:从此告别记事本记命令的日子

前言 平时开发中遇到这样那样的命令需要记下来,一般做法是这样。 新建记事本将需要记下的关键命令保存。每次需要使用时,粘贴复制即可。 好像没什么毛病!直到遇到了 Cmder。。。 当看到同事分析问题时在 Cmder 里命令快捷键刷刷一顿操作&…

C#实现邮箱验证码

开发环境:C#,VS2019,.NET Core 3.1,ASP.NET Core Web API,163邮箱 1、在163邮箱的设置中开通IMAP/SMTP的服务,授权成功后会弹出一个窗体(如下图所示),上面显示了授权密码…

C++ ModBUS TCP客户端工具 qModMaster 介绍及使用

qModMaster工具介绍 QModMaster是一个基于Qt的Modbus主站(Master)模拟器,用于模拟和测试Modbus TCP和RTU通信。它提供了一个直观的图形界面,使用户能够轻松设置和发送Modbus请求,并查看和分析响应数据。 以下是QModM…

湘大 XTU OJ 1256 湘潭大学 题解(非常详细):枚举

一、链接 1256 湘潭大学 二、题目 题目描述 湘潭大学简称“XTU”,作为即将成为湘大的一份子,怎么不能为湘大添砖加瓦了?现在给你一个字符串,请你计算一下,从中选取字符,最多能组成多少个“XTU”&#x…

v-md-editor自定义锚点(生成目录)数组转树结构

接前两篇博文,最终方案终于定了,也把之前做的编辑器模式给否决了,原因是系统中有老的文档需要平替,因此就不能通过编辑器这种模式了,太麻烦了。 最终方案:线下手动pandoc word转markdown,然后将…

Qt 7. 在自定义类TcpClient类中使用信号槽功能

1. 因为只有QObject类及其子类派生的类才能使用信号和槽机制。 使用信号和槽还必须在类声明的最开始处添加Q_OBJECT宏,在这个程序中,类的声明是自动生成的,已经添加了这个宏。UI类继承自QDialog,QDialog类又继承自QWidget类&…

Oracle-创建PDB

Oracle-创建PDB 创建PDB的方式 从PDB$SEED新建PDB克隆已存在的PDB 本地PDB克隆到同一个CDB中将远程PDB克隆到CDB中将非CDB插入或克隆到CDB中通过插拔的方式创建PDB sql 命令语法 条件 CDB必须open并且read write模式连接CDB$ROOT 用户并且具有CREATEPLUGGABLEDATABASE系统权…

解决android studio妙明奇妙出现的模拟器

1&#xff0c;查看设备 adb devices 2&#xff0c; adb命令断开指定的设备 要断开ADB与特定设备的连接&#xff0c;可以使用以下命令&#xff1a; adb disconnect <设备ID> 将 <设备ID> 替换为您要断开连接的设备的实际ID。设备ID可以在运行 adb devices 命令…

Von Maur, Inc EDI 需求分析

Von Maur, Inc 是一家历史悠久的卖场&#xff0c;成立于19世纪&#xff0c;总部位于美国。作为一家知名的零售商&#xff0c;Von Maur 主要经营高端时装、家居用品和美妆产品。其使命是为顾客提供优质的产品和无与伦比的购物体验。多年来&#xff0c;Von Maur 凭借其卓越的服务…

MySQL SUBSTRING_INDEX() 函数的详细介绍

MySQL SUBSTRING_INDEX() 从给定字符串中返回指定数量的分隔符出现之前的子字符串。 当指定数字为正数时从最终分隔符的左侧返回子字符串&#xff0c;当指定数字为负数时从最终分隔符的右侧返回子字符串。 如果指定的次数大于分隔符的出现次数&#xff0c;则返回的子字符串将…

机器人技术及其影响

目录 1.概念 2.发展 3.应用领域 4.对人类的益处 1.概念 机器人是指能够自主执行任务的机械设备或电子设备。它们通常具有一定的感知、决策和执行能力&#xff0c;能够接收和处理来自外部环境的信息&#xff0c;并做出相应的行动。 机器人的形态和功能各异&#xff0c;可以是…

Netty自定义编码解码器

上次通信的时候用的是自带的编解码器&#xff0c;今天自己实现一下自定义的。 1、自定义一下协议 //协议类 Data public class Protocol<T> implements Serializable {private Long id System.currentTimeMillis();private short msgType;// 假设1为请求 2为响应privat…

JAVA基础补充(Comparable排序接口的实现)

JAVA基础补充&#xff08;Comparable排序接口的实现&#xff09; Comparable接口的实现&#xff1a;没有实现Comparable接口时&#xff0c;取出来的值无法排序如果进行排序&#xff1a;实现接口进行排序&#xff1a;Controller层的实现实体类的实现 复习时间&#xff1a;2023/0…

(学习笔记-进程管理)多线程冲突如何解决

对于共享资源&#xff0c;如果没有上锁&#xff0c;在多线程的环境里&#xff0c;很有可能发生翻车。 竞争与合作 在单核 CPU 系统里&#xff0c;为了实现多个程序同时运行的假象&#xff0c;操作系统通常以时间片调度的方式&#xff0c;让每个进程每次执行一个时间片&#xf…

13.3 目标检测和边界框

锚框的计算公式 假设原图的高为H,宽为W 详细公式推导 以同一个像素点为锚框&#xff0c;可以生成 (n个缩放 m个宽高比 -1 )个锚框

RabbitMQ 消息队列(Spring boot AMQP)

文章目录 &#x1f370;有几个原因可以解释为什么要选择 RabbitMQ&#xff1a;&#x1f969;mq之间的对比&#x1f33d;RabbitMQ vs Apache Kafka&#x1f33d;RabbitMQ vs ActiveMQ&#x1f33d;RabbitMQ vs RocketMQ&#x1f33d;RabbitMQ vs Redis &#x1f969;linux docke…

【大数据之Kafka】一、Kafka定义消息队列及基础架构

1 定义 Kafka传统定义&#xff1a;Kafka是一个分布式的基于发布/订阅模式的消息队列&#xff08;Message Queue&#xff09;&#xff0c;主要应用于大数据实时处理领域。 发布/订阅&#xff1a;消息的发布者不会将消息直接发送给特定的订阅者&#xff0c;而是将发布的消息分为…

「C/C++」C/C++正则表达式

✨博客主页何曾参静谧的博客&#x1f4cc;文章专栏「C/C」C/C程序设计&#x1f4da;全部专栏「UG/NX」NX二次开发「UG/NX」BlockUI集合「VS」Visual Studio「QT」QT5程序设计「C/C」C/C程序设计「Win」Windows程序设计「DSA」数据结构与算法「File」数据文件格式 目录 术语介绍…

无涯教程-Perl - bless函数

描述 此函数告诉REF引用的实体,它现在是CLASSNAME包中的对象,如果省略CLASSNAME,则为当前包中的对象。建议使用bless的两个参数形式。 语法 以下是此函数的简单语法- bless REF, CLASSNAMEbless REF返回值 该函数返回对祝福到CLASSNAME中的对象的引用。 例 以下是显示其…

基于R做宏基因组的进化树ClusterTree分析

写在前面 同上一篇的PCoA分析&#xff0c;这个也是基于公司结果基础上的再次分析&#xff0c;重新挑选样本&#xff0c;在公司结果提供的csv结果表上进行删减&#xff0c;本地重新分析作图 步骤 表格预处理 在公司给的ClusterTree的原始表格数据里选取要保留的样本&#xf…