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语言的12个基础知识点小结
Jul 10 Python
Python基于select实现的socket服务器
Apr 13 Python
Python实现TCP/IP协议下的端口转发及重定向示例
Jun 14 Python
终端命令查看TensorFlow版本号及路径的方法
Jun 13 Python
TensorFlow利用saver保存和提取参数的实例
Jul 26 Python
pandas.read_csv参数详解(小结)
Jun 21 Python
Python 给定的经纬度标注在地图上的实现方法
Jul 05 Python
Python使用itchat模块实现群聊转发,自动回复功能示例
Aug 26 Python
详解在python操作数据库中游标的使用方法
Nov 12 Python
PyCharm取消波浪线、下划线和中划线的实现
Mar 03 Python
python 实现围棋游戏(纯tkinter gui)
Nov 13 Python
python爬取天气数据的实例详解
Nov 20 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相当简单的分页类
2008/10/02 PHP
显示youtube视频缩略图和Vimeo视频缩略图代码分享
2014/02/13 PHP
JS日期和时间选择控件升级版(自写)
2013/08/02 Javascript
js获取某元素的class里面的css属性值代码
2014/01/16 Javascript
js清空表单数据的两种方式(遍历+reset)
2014/07/18 Javascript
jQuery中scrollTop()方法用法实例
2015/01/16 Javascript
JavaScript中诡异的delete操作符
2015/03/12 Javascript
JavaScript保留关键字汇总
2015/12/01 Javascript
js利用clipboardData实现截屏粘贴功能
2016/10/12 Javascript
JS实现商品筛选功能
2020/08/19 Javascript
Webpack常见静态资源处理-模块加载器(Loaders)+ExtractTextPlugin插件
2017/06/29 Javascript
详解vue-cli 脚手架项目-package.json
2017/07/04 Javascript
提升页面加载速度的插件InstantClick
2017/09/12 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
关于微信小程序获取小程序码并接受buffer流保存为图片的方法
2019/06/07 Javascript
Vue监听页面刷新和关闭功能
2019/06/20 Javascript
浅入深出Vue之自动化路由
2019/08/06 Javascript
[01:22:19]EG vs TNC Supermajor小组赛B组败者组第一轮 BO3 第二场 6.2
2018/06/03 DOTA
在Linux命令行终端中使用python的简单方法(推荐)
2017/01/23 Python
Python实现向服务器请求压缩数据及解压缩数据的方法示例
2017/06/09 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
2018/07/25 Python
django中SMTP发送邮件配置详解
2019/07/19 Python
Python PyQt5运行程序把输出信息展示到GUI图形界面上
2020/04/27 Python
python 利用opencv实现图像网络传输
2020/11/12 Python
python调用百度AI接口实现人流量统计
2021/02/03 Python
详解WebSocket跨域问题解决
2018/08/06 HTML / CSS
好莱坞百老汇御用王牌美妆:Koh Gen Do 江原道
2018/04/03 全球购物
触发器(trigger)的功能都有哪些?写出一个触发器的例子
2012/09/17 面试题
前台接待员岗位职责
2014/01/02 职场文书
竞选班干部的演讲稿
2014/04/24 职场文书
学生个人评语大全
2015/01/04 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
红领巾广播站广播稿
2015/08/19 职场文书
老舍《猫》教学反思
2016/02/17 职场文书
Java实现聊天机器人完善版
2021/07/04 Java/Android
详解Oracle数据库中自带的所有表结构(sql代码)
2021/11/20 Oracle