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实现字母去重
描述 给定一个字符串S,每次操作你可以将其中任意一个字符修改成其他任意字符. 请你计算最少需要多少次操作,才能使得S中不存在两个相邻的相同字符. 输入 只包含小写字母的字符串S. 1 ≤ |S| ≤ ...
- Java实现LeetCode17. 电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合. 给出数字到字母的映射如下(与电话按键相同).注意 1 不对应任何字母. 示例: 输入:"23" 输出:[&quo ...
- 4.keras-交叉熵的介绍和应用
keras-交叉熵的介绍和应用 1.载入数据以及预处理 import numpy as np from keras.datasets import mnist from keras.utils imp ...
- fedora gtk+ 2.0环境安装配置
1.安装gtk yum install gtk2 gtk2-devel gtk2-devel-docs 2.测试是否安装成功 pkg-config --cflags --libs gtk+-2.0 执 ...
- 阿里巴巴二面凉经 flatten扁平化对象与数组
2020-04-13 阿里巴巴二面凉经 flatten扁平化对象与数组 在线笔试的时候写错了一点点 太可惜了哎 还是基础不够扎实... const input = { a: 1, b: [ 1, 2, ...
- 软光栅-uraster代码阅读(入门极品)
软光栅-uraster代码阅读(入门极品) 代码链接:https://github.com/Steve132/uraster 所有的代码都在uraster.hpp中.代码非常简单,适合初学者学习软光栅 ...
- Python惯用法
目录 1. 不要使用可变类型作为参数的默认值 1. 不要使用可变类型作为参数的默认值 摘自<流畅的Python>8.4.1 class HauntedBus: ""&q ...
- CentOS7.5搭建ES6.2.4集群与简单测试
一 简介 Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎.它允许您快速,近实时地存储,搜索和分析大量数据.它通常用作支持具有复杂搜索功能和需求的应用程序的底层引擎/技术. 下载地址 ...
- LR字符串处理函数-lr_save_int
int lr_save_int(int value,const char * param_name); value:要分配给参数的整数值. param_name:参数的名称. lr_save_in ...
- php 判断设备是手机还是平板还是pc
1 <?php 2 //获取USER AGENT 3 $agent = strtolower($_SERVER['HTTP_USER_AGENT']); 4 5 //分析数据 6 $is_pc ...