Pytest mark使用实例及原理解析


Posted in Python onFebruary 22, 2020

这篇文章主要介绍了Pytest mark使用实例及原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

使用方法:

1、注册标签名

2、在测试用例/测试类前面加上:@pytest.mark.标签名

打标记范围:测试用例、测试类、模块文件

注册方式:

1、单个标签:

在conftest.py添加如下代码:

def pytest_configure(config):
  # demo是标签名
  config.addinivalue_line("markers", "demo:示例运行")

2、多个标签:

在conftest.py添加如下代码:

def pytest_configure(config):
  marker_list = ["testdemo", "demo", "smoke"] # 标签名集合
  for markers in marker_list:
    config.addinivalue_line("markers", markers)

3、添加pytest.ini 配置文件(在你项目的任意一个文件下,新建一个file,文件命名为pytest.ini)

[pytest]
markers=
  smoke:this is a smoke tag
  demo:demo
  testdemo:testdemo

使用方法:

import pytest


@pytest.mark.testdemo
def test_demo01():
  print("函数级别的test_demo01")


@pytest.mark.smoke
def test_demo02():
  print("函数级别的test_demo02")


@pytest.mark.demo
class TestDemo:
  def test_demo01(self):
    print("test_demo01")

  def test_demo02(self):
    print("test_demo02")

运行方式:

1、命令行模式

通过标记表达式执行
pytest -m demo
这条命令会执行被装饰器@pytest.mark.demo装饰的所有测试用例

生成html报告:
pytest -m demo --html=Report/report.html

生成xml报告:
pytest -m demo --junitxml=Report/report.xml

运行指定模块:
pytest -m demo --html=Report/report.html TestCases/test_pytest.py

运行指定测试目录
pytest -m demo --html=Report/report.html TestCases/

通过节点id来运行:
pytest TestCases/test_pytest.py::TestDemo::test_demo01

通过关键字表达式过滤执行
pytest -k "MyClass and not method"
这条命令会匹配文件名、类名、方法名匹配表达式的用例

获取用例执行性能数据
获取最慢的10个用例的执行耗时
pytest --durations=10

2、新建run.py文件运行,代码如下:

pytest.main(["-m","demo","--html=Report/report.html"])

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python中的闭包用法实例详解
May 05 Python
1分钟快速生成用于网页内容提取的xslt
Feb 23 Python
将字典转换为DataFrame并进行频次统计的方法
Apr 08 Python
PyQt5每天必学之日历控件QCalendarWidget
Apr 19 Python
对python中的乘法dot和对应分量相乘multiply详解
Nov 14 Python
Django 对象关系映射(ORM)源码详解
Aug 06 Python
Django项目主urls导入应用中views的红线问题解决
Aug 10 Python
如何在python中写hive脚本
Nov 08 Python
Pytorch 使用 nii数据做输入数据的操作
May 26 Python
python 无损批量压缩图片(支持保留图片信息)的示例
Sep 22 Python
Python实现Excel自动分组合并单元格
Feb 22 Python
用Python生成会跳舞的美女
Jan 18 Python
python如何通过闭包实现计算器的功能
Feb 22 #Python
postman和python mock测试过程图解
Feb 22 #Python
Python实现链表反转的方法分析【迭代法与递归法】
Feb 22 #Python
Python实现队列的方法示例小结【数组,链表】
Feb 22 #Python
python实现从尾到头打印单链表操作示例
Feb 22 #Python
python实现滑雪游戏
Feb 22 #Python
Python实现栈的方法详解【基于数组和单链表两种方法】
Feb 22 #Python
You might like
php,ajax实现分页
2008/03/27 PHP
PHP文章采集URL补全函数(FormatUrl)
2012/08/02 PHP
解析PHP中的内存管理,PHP动态分配和释放内存
2013/06/28 PHP
PHP实现获取图片颜色值的方法
2014/07/11 PHP
简单解析PHP程序的运行流程
2016/06/23 PHP
php实现和c#一致的DES加密解密实例
2017/07/24 PHP
JS验证日期的格式YYYY-mm-dd 具体实现
2013/06/29 Javascript
jQuery自动切换/点击切换选项卡效果的小例子
2013/08/12 Javascript
jQuery中dequeue()方法用法实例
2014/12/29 Javascript
Javascript缓存API
2016/06/14 Javascript
AngularJS 自定义指令详解及示例代码
2016/08/17 Javascript
微信小程序 POST请求(网络请求)详解及实例代码
2016/11/16 Javascript
Vue.js第四天学习笔记
2016/12/02 Javascript
ECMAScript6 新特性范例大全
2017/03/24 Javascript
js利用for in循环获取 一个对象的所有属性以及值的实例
2017/03/30 Javascript
Vue实现todolist删除功能
2018/06/26 Javascript
vue中axios请求的封装实例代码
2019/03/23 Javascript
解决Vue使用bus总线时,第一次路由跳转时数据没成功传递问题
2020/07/28 Javascript
详解ES6实现类的私有变量的几种写法
2021/02/10 Javascript
[01:21]DOTA2周边文化主题展 神秘商店火热开售
2017/07/30 DOTA
[44:10]2018DOTA2亚洲邀请赛 4.5 淘汰赛 EG vs VP 第一场
2018/04/06 DOTA
[00:10]神之谴戒
2019/03/06 DOTA
Python自定义函数的创建、调用和函数的参数详解
2014/03/11 Python
利用Python读取文件的四种不同方法比对
2017/05/18 Python
Scrapy使用的基本流程与实例讲解
2018/10/21 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
2020/06/10 Python
台湾饭店和机票预订网站:Expedia台湾
2016/08/05 全球购物
西班牙高科技产品购物网站:MejorDeseo
2019/09/08 全球购物
企业面试题试卷附带答案
2015/12/20 面试题
应届毕业生简历自我评价
2014/01/31 职场文书
护士求职信
2014/07/05 职场文书
学校与家长安全责任书
2014/07/23 职场文书
销售代理协议书
2014/09/30 职场文书
教育项目合作协议书格式
2014/10/17 职场文书
快速学习Oracle触发器和游标
2021/06/30 Oracle
Python基础 括号()[]{}的详解
2021/11/07 Python