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中的文件I/O操作
May 24 Python
python字典键值对的添加和遍历方法
Sep 11 Python
Python yield 使用方法浅析
May 20 Python
Python实现两个list对应元素相减操作示例
Jun 09 Python
django session完成状态保持的方法
Nov 27 Python
Python中的元组介绍
Jan 28 Python
详解python执行shell脚本创建用户及相关操作
Apr 11 Python
利用python求积分的实例
Jul 03 Python
python2爬取百度贴吧指定关键字和图片代码实例
Aug 14 Python
使用 Python 清理收藏夹里已失效的网站
Dec 03 Python
Matplotlib scatter绘制散点图的方法实现
Jan 02 Python
Python3.7将普通图片(png)转换为SVG图片格式(网站logo图标)动起来
Apr 21 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之数组学习
2011/05/29 PHP
thinkPHP学习笔记之安装配置篇
2015/03/05 PHP
[原创]PHP简单开启curl的方法(测试可行)
2016/01/11 PHP
PHP实现数据分页显示的简单实例
2016/05/26 PHP
Ajax+PHP实现的删除数据功能示例
2019/02/12 PHP
YII框架学习笔记之命名空间、操作响应与视图操作示例
2019/04/30 PHP
Laravel Validator 实现两个或多个字段联合索引唯一
2019/05/08 PHP
php更新cookie内容的详细方法
2019/09/30 PHP
在网页中使用document.write时遭遇的奇怪问题
2010/08/24 Javascript
Jquery实现显示和隐藏的4种简单方式
2013/08/28 Javascript
js修改原型的属性使用介绍
2014/01/26 Javascript
Javascript基础教程之关键字和保留字汇总
2015/01/18 Javascript
JavaScript判断一个字符串是否包含指定子字符串的方法
2015/03/18 Javascript
jQuery.each使用详解
2015/07/07 Javascript
jquery+html5烂漫爱心表白动画代码分享
2015/08/24 Javascript
jQuery实现默认是闭合的FAQ展开效果菜单
2015/09/14 Javascript
使用jQuery在移动页面上添加按钮和给按钮添加图标
2015/12/04 Javascript
JQuery标签页效果实例详解
2015/12/24 Javascript
AngularJS入门教程之AngularJS指令
2016/04/18 Javascript
JS实现图片的不间断连续滚动的简单实例
2016/06/03 Javascript
基于angularJS的表单验证指令介绍
2016/10/21 Javascript
js获取浏览器高度 窗口高度 元素尺寸 偏移属性的方法
2016/11/21 Javascript
浅析bootstrap原理及优缺点
2017/03/19 Javascript
React如何将组件渲染到指定DOM节点详解
2017/09/08 Javascript
js推箱子小游戏步骤代码解析
2018/01/10 Javascript
iview Upload组件多个文件上传的示例代码
2018/09/30 Javascript
详解Vue之计算属性
2020/06/20 Javascript
element-ui中el-upload多文件一次性上传的实现
2020/12/02 Javascript
[47:03]完美世界DOTA2联赛PWL S3 access vs LBZS 第一场 12.20
2020/12/23 DOTA
python实现定制交互式命令行的方法
2014/07/03 Python
python通过字典dict判断指定键值是否存在的方法
2015/03/21 Python
PYTHON绘制雷达图代码实例
2019/10/15 Python
网购亚洲时装、美容产品和生活百货:YesStyle
2016/09/15 全球购物
大专生工程监理求职信
2013/10/04 职场文书
导游词之舟山普陀山
2019/11/06 职场文书
win10电脑双屏显示一个黑屏怎么办?win10电脑双屏显示一个黑屏解决方法
2022/07/15 数码科技