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 提交此题 锦囊1 锦囊2 问题描述 给出一个包含n个整数的数列,问整数a在数列中的第一次出现是第几个. 输入格式 第一行包含一个整数n ...
- Java实现 蓝桥杯VIP 算法训练 P1101
有一份提货单,其数据项目有:商品名(MC).单价(DJ).数量(SL).定义一个结构体prut,其成员是上面的三项数据.在主函数中定义一个prut类型的结构体数组,输入每个元素的值,计算并输出提货单的 ...
- Java实现 LeetCode 50 Pow(x,n)
50. Pow(x, n) 实现 pow(x, n) ,即计算 x 的 n 次幂函数. 示例 1: 输入: 2.00000, 10 输出: 1024.00000 示例 2: 输入: 2.10000, ...
- Java实现堆排序问题(变治法)
问题描述 用基于变治法的堆排序算法对任意一组给定的数据进行排序 2.1 堆排序原理简介 堆可以定义为一颗二叉树,树的节点中包含键(每个节点是一个键),并且满足下面两个条件: (1)树的形状要求--这颗 ...
- java实现第四届蓝桥杯带分数
带分数 题目描述 100 可以表示为带分数的形式:100 = 3 + 69258 / 714 还可以表示为:100 = 82 + 3546 / 197 注意特征:带分数中,数字1~9分别出现且只出现一 ...
- java代码(2)---Java8 Stream
stream Java8新特性Stream流,那Stream表达式到底是什么呢,为什么可以使你的代码更加整洁而且对集合的操作效率也会大大提高? 一.概述 1.什么是Stream Stream是一种可供 ...
- Python:求时间差(天时分秒格式)
传入一个时间戳,以天时分秒格式打印出时间差 输入一个10位的时间戳,求出时间差 def time_diff(timestamp): onlineTime = datetime.datetime.fro ...
- FPGA之SPI SD卡读操作
这几天在FPGA调试与SD通信,读SD卡里的图片,之前接触32时没有去研究过SD卡,不太熟悉操作流程,在网上找了很多资料,也看了几个32开发板的资料,但大多数都讲得不是特别清楚,只能瞎操作了一番,在别 ...
- k8s学习-Ingress
4.5.Ingress Ingress-Nginx github 地址:https://github.com/kubernetes/ingress-nginxIngress-Nginx 官方网站:ht ...
- Spring系列.依赖注入配置
依赖注入的配置 Spring的依赖注入分为基于构造函数的依赖注入和基于setter方法的依赖注入. 基于构造函数的依赖注入 <!-- 通过构造器参数索引方式依赖注入 --> <bea ...