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实现 蓝桥杯VIP 算法提高 能量项链
算法提高 能量项链 时间限制:1.0s 内存限制:256.0MB 问题描述 在Mars星球上,每个Mars人都随身佩带着一串能量项链.在项链上有N颗能量珠.能量珠是一颗有头标记与尾标记的珠子,这些标记 ...
- Java实现 LeetCode 142 环形链表 II(二)
142. 环形链表 II 给定一个链表,返回链表开始入环的第一个节点. 如果链表无环,则返回 null. 为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始 ...
- Java实现 蓝桥杯 算法提高 宰羊
试题 算法提高 宰羊 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 炫炫回了内蒙,肯定要吃羊肉啦,所有他家要宰羊吃. 炫炫家有N只羊,羊圈排成一排,标号1~N.炫炫每天吃掉一只羊( ...
- Java实现选择问题
选择问题是求一个n个数列表的第k个最小元素的问题. 那么如何寻找n个元素中第k个最小元素呢? package com.liuzhen.chapter4; public class SelectProb ...
- vi命令总结
VI常用技巧 VI命令可以说是Unix/Linux世界里最常用的编辑文件的命令了,但是因为它的命令集众多,很多人都不习惯使用它,其实您只需要掌握基本命令,然后加以灵活运用,就会发现它的优势,并会逐 ...
- 快速升级Zabbix 5.0 版本
Zabbix 5.0 增加了很多新功能,如:垂直菜单.隐藏菜单.用户界面中的测试项目.限制代理检查.查找并替换预处理步骤 ES7支持等等...快来部署体验一把尝鲜体验 Zabbix 5.0 吧 ...
- MySQL触发器的详细教学与综合分析
所有知识体系文章,GitHub已收录,欢迎老板们前来Star! GitHub地址: https://github.com/Ziphtracks/JavaLearningmanual MySQL触发器 ...
- WDCP3.3中多PHP版本安装方法,以及安装遇到的问题
[多版本php安装] 安装方法如下: wget http://down.wdlinux.cn/in/phps.sh sh phps.sh (共支持8个版本的PHP,如5.2.17/5.3.29/5.4 ...
- CentOS6.5 开机启动自动运行redis服务
[一].查找和设置自己的redis路径参数 环境变量 PATH=/usr/local/bin:/sbin/:/usr/bin:/bin 端口 REDISPORT=6379 文件位置 EXEC=/usr ...
- Js中Array 函数使用方法
遇到数组有关操作,脑子第一反应不要再是嵌套 for 循环了,Array 类型提供了一些遍历有关的函数. Array.prototype.forEach() : 把数组每个元素丢到一个处理 functi ...