Pytest 单元测试框架标记用例
1、Pytest 中标记用例
- 接参数 -k 来挑选要执行的测试项
- pytest -k test_szdcs -s
- test_szdcs 为函数名称
- -k 后面接的名称可以为函数名称、类名称、文件名称、目录名称
- 区分大小写
- 支持模糊匹配
- 可以用 not 表示选择用例名称中不包含哪些内容,如下
- pytest -k test_szdcs -s
class Test01():
def test_szdcs(self):
print("深圳多测师")
def test_gzdcs(self):
print("广州多测师") class Test02():
def test_shdcs(self):
print("上海多测师") # 运行命令 pytest -k "not sz" -s
# 结果如下
test_demo1.py
广州多测师.
上海多测师.
- 可以用 and 表示选择的用例名称中同时包含多个关键字,如下
class Test01():
def test_szdcs(self):
print("深圳多测师")
def test_gzdcs(self):
print("广州多测师") class Test02():
def test_shdcs(self):
print("上海多测师") # 运行命令 pytest -k "g and z" -s
# 结果如下
test_demo1.py
广州多测师.
- 可以用 or 表示选择的用例名称中包含其中一个关键字即可,如下
class Test01():
def test_szdcs(self):
print("深圳多测师")
def test_gzdcs(self):
print("广州多测师") class Test02():
def test_shdcs(self):
print("上海多测师") # 运行命令 pytest -k "sh or sz" -s
# 结果如下
test_demo1.py
深圳多测师.
上海多测师.
- 指定标签运行需要运行的测试项
- @pytest .mark.tag
- tag 为自定义的标签名称
- 可以对方法加上标签
- 也可以对整个类加上标签
- 也可以定义全局标签
- pytest test_demo1.py -m tag -s
- pytest 后面可以接类名称、文件名称、目录名称
- -m 后面接标签名称
- @pytest .mark.tag
# 对方法加标签
import pytest class Test01():
def test_szdcs(self):
print("深圳多测师") @pytest.mark.tag
# 通过装饰器定义标签,自定义标签名称 tag
def test_gzdcs(self):
print("广州多测师") class Test02():
def test_shdcs(self):
print("上海多测师") # 运行命令 pytest test_demo1.py -m tag -s
# 结果如下
test_demo1.py
广州多测师.
# 对类加标签
import pytest class Test01():
def test_szdcs(self):
print("深圳多测师") def test_gzdcs(self):
print("广州多测师") @pytest.mark.tag
class Test02():
def test_shdcs(self):
print("上海多测师") # 运行命令 pytest test_demo1.py -m tag -s
# 结果如下
test_demo1.py
上海多测师.
import pytest
# 定义全局标签
mark = pytest.mark.tag class Test01():
def test_szdcs(self):
print("深圳多测师")
def test_gzdcs(self):
print("广州多测师") class Test02():
def test_shdcs(self):
print("上海多测师") # 运行命令 pytest -m tag -s
# 结果如下
test_demo1.py
深圳多测师.
广州多测师.
上海多测师.
2、Pytest 中 skip 跳过用例
- 标记 skip 表示跳过该用例,不运行
- pytest.mark.skip(reason="str")
# 在方法上条件装饰器 skip,跳过单条用例
import pytest class Test01():
def test_szdcs(self):
print("深圳多测师") @pytest.mark.skip(reason="跳过的用例")
def test_gzdcs(self):
print("广州多测师") class Test02():
def test_shdcs(self):
print("上海多测师") # 运行命令 pytest -sv test_demo1.py
# 结果如下
test_demo1.py::Test01::test_szdcs 深圳多测师
PASSED
test_demo1.py::Test01::test_gzdcs
SKIPPED
test_demo1.py::Test02::test_shdcs 上海多测师
PASSED
# 在类上面添加装饰器 skip,跳过整个类中的所有用例
import pytest @pytest.mark.skip(reason="跳过的用例")
class Test01():
def test_szdcs(self):
print("深圳多测师") def test_gzdcs(self):
print("广州多测师") class Test02():
def test_shdcs(self):
print("上海多测师") # 运行命令 pytest -sv test_demo1.py
# 结果如下
test_demo1.py::Test01::test_szdcs
SKIPPED
test_demo1.py::Test01::test_gzdcs
SKIPPED
test_demo1.py::Test02::test_shdcs 上海多测师
PASSED
3、Pytest 中 skipif 跳过用例
- 通过条件判断是否忽略不执行该用例
- 判断条件表达式 pytest.mark.skipif(condition,reason="str")
import pytest class Test01():
def test_szdcs(self):
print("深圳多测师") @pytest.mark.skipif(2>1,reason="条件正确不执行")
def test_gzdcs(self):
print("广州多测师") class Test02():
def test_shdcs(self):
print("上海多测师") # 运行命令 pytest -sv test_demo1.py
# 结果如下
test_demo1.py::Test01::test_szdcs 深圳多测师
PASSED
test_demo1.py::Test01::test_gzdcs
SKIPPED
test_demo1.py::Test02::test_shdcs 上海多测师
PASSED
Pytest 单元测试框架标记用例的更多相关文章
- Pytest单元测试框架-测试用例运行规则
1.Pytest测试用例运行规则 在pytest单元测试框架下面执行用例,需要满足以下几个特点: 1. 文件名以test_*.py开头或者*_test.py 2. 测试类.测试函数以test开头 3. ...
- Pytest单元测试框架-Pytest环境安装
unittest是python自带的单元测试框架,它封装好了一些校验返回的结果方法和一些用例执行前的初始化操作,使得单元测试易于开展,因为它的易用性,很多同学也拿它来做功能测试和接口测试,只需简单开发 ...
- Pytest单元测试框架之简单操作示例
前言: Pytest是第三方单元格测试框架,更加简单,灵活,而且提供了更多丰富的扩展: Pytest与UnitTest框架的区别 UnitTest测试用例执行顺序是依照ascii码执行,而Pytest ...
- Pytest单元测试框架:插件-allure-pytest环境搭建并在本地生成一个测试报告
之前写了allure-pytest的官方文档啃的内容,有些交流的朋友,实践起来没什么头绪,所以就有了这篇文章,也给自己填个坑 第一步:搭建Allure.JDK环境 1. 搭建JDK环境 不装jdk你会 ...
- Pytest单元测试框架-学习
pytest: Python的一个单元测试框架,基于UnitTest二次开发,语法上更加简洁,可以用来做Python开发项目的单元测试,UI自动化.接口自动化测试等,有很多的插件访问Pytest插件汇 ...
- Pytest 单元测试框架
1.pytest 是 python 的第三方单元测试框架,比自带 unittest 更简洁和高效 2.安装 pytest pip install pytest 3.验证 pytest 是否安装成功 p ...
- Pytest单元测试框架——Pytest+Allure+Jenkins的应用
一.简介 pytest+allure+jenkins进行接口测试.生成测试报告.结合jenkins进行集成. pytest是python的一种单元测试框架,与python自带的unittest测试框架 ...
- Pytest单元测试框架之FixTure基本使用
前言: 在单元测试框架中,主要分为:测试固件,测试用例,测试套件,测试执行及测试报告: 测试固件不难理解,也就是我们在执行测试用例前需要做的动作和测试执行后的需要做的事情: 比如在UI自动化测试中,我 ...
- pytest单元测试框架
一.安装方式 1.安装命令:pip install pytest 2.html安装插件:pip install pytest -html 二.pytest执行指定测试用例 1.思想:通过对测试用例进行 ...
随机推荐
- Java实现蓝桥杯历届试题回文数字
历届试题 回文数字 时间限制:1.0s 内存限制:256.0MB 提交此题 问题描述 观察数字:12321,123321 都有一个共同的特征,无论从左到右读还是从右向左读,都是相同的.这样的数字叫做: ...
- Java实现 蓝桥杯 算法训练 递归求二项式系数
算法训练 6-1 递归求二项式系数值 时间限制:10.0s 内存限制:256.0MB 问题描述 样例输入 一个满足题目要求的输入范例. 3 10 样例输出 与上面的样例输入对应的输出. 数据规模和约定 ...
- Java实现 蓝桥杯VIP 算法训练 字符串编辑
算法训练 字符串编辑 时间限制:1.0s 内存限制:512.0MB 问题描述 从键盘输入一个字符串(长度<=40个字符),并以字符 '.' 结束.编辑功能有: 1 D:删除一个字符,命令的方式为 ...
- C++实现网络寻路
标题:网络寻路 X 国的一个网络使用若干条线路连接若干个节点.节点间的通信是双向的.某重要数据包,为了安全起见,必须恰好被转发两次到达目的地.该包可能在任意一个节点产生,我们需要知道该网络中一共有多少 ...
- Java实现 蓝桥杯 历届试题 地宫取宝
问题描述 X 国王有一个地宫宝库.是 n x m 个格子的矩阵.每个格子放一件宝贝.每个宝贝贴着价值标签. 地宫的入口在左上角,出口在右下角. 小明被带到地宫的入口,国王要求他只能向右或向下行走. 走 ...
- Java实现第九届蓝桥杯分数
分数 题目描述 1/1 + 1/2 + 1/4 + 1/8 + 1/16 + - 每项是前一项的一半,如果一共有20项, 求这个和是多少,结果用分数表示出来. 类似: 3/2 当然,这只是加了前2项而 ...
- java实现第七届蓝桥杯分小组
分小组 分小组 9名运动员参加比赛,需要分3组进行预赛. 有哪些分组的方案呢? 我们标记运动员为 A,B,C,... I 下面的程序列出了所有的分组方法. 该程序的正常输出为: ABC DEF GHI ...
- java实现第七届蓝桥杯寒假作业
题目6.寒假作业 寒假作业 现在小学的数学题目也不是那么好玩的. 看看这个寒假作业: □ + □ = □ □ - □ = □ □ × □ = □ □ ÷ □ = □ (如果显示不出来,可以参见[图1. ...
- iOS-字典转双模型的实现过程中需要关注的细节
如果有以上结构的plist文件,那么应该怎么将其中的字典转换成模型? 显然一个模型已经无法搞定了,此时需要用到双数据模型(字典转模型). 我写了两种方式来实现模型的转换: 方法一 第一个模型:CarM ...
- (八)MySQL事务、视图、变量、存储过程、函数、流程控制结构
补充:增删查改语句在数据库中基本通用,但这篇博客的内容基本是MySQL区别于其它数据库管理系统的知识,也要认真学习. 一.事务 1.含义:在MySQL中,可以通过创建事务来解决一些问题. 2.语法: ...