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共享引用(多个变量引用)示例代码
Dec 04 Python
在Linux下调试Python代码的各种方法
Apr 17 Python
使用Python读写文本文件及编写简单的文本编辑器
Mar 11 Python
Python的Flask站点中集成xhEditor文本编辑器的教程
Jun 13 Python
Python实现好友全头像的拼接实例(推荐)
Jun 24 Python
python Web开发你要理解的WSGI & uwsgi详解
Aug 01 Python
Python实现计算对象的内存大小示例
Jul 10 Python
8种用Python实现线性回归的方法对比详解
Jul 10 Python
基于python实现计算两组数据P值
Jul 10 Python
Python3.7安装pyaudio教程解析
Jul 24 Python
15款Python编辑器的优缺点,别再问我“选什么编辑器”啦
Oct 19 Python
Pandas直接读取sql脚本的方法
Jan 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 strcmp使用说明
2010/04/22 PHP
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
跟我学Laravel之请求(Request)的生命周期
2014/10/15 PHP
typecho插件编写教程(五):核心代码
2015/05/28 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
PHP使用curl_multi实现并发请求的方法示例
2018/04/29 PHP
JQuery select标签操作代码段
2010/05/16 Javascript
jQuery在vs2008及js文件中的无智能提示的解决方法
2010/12/30 Javascript
jquery 回车事件实现代码
2011/08/23 Javascript
用jquery写的一个万年历(自写)
2014/01/20 Javascript
Node.js的特点和应用场景介绍
2014/11/04 Javascript
jQuery回调函数的定义及用法实例
2014/12/23 Javascript
node.js Sequelize实现单实例字段或批量自增、自减
2016/12/08 Javascript
80%应聘者都不及格的JS面试题
2017/03/21 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
详解vue-cli 接口代理配置
2017/12/13 Javascript
CentOS7中源码编译安装NodeJS的完整步骤
2018/10/13 NodeJs
Vue组件化开发之通用型弹出框的实现
2020/02/28 Javascript
python实现的重启关机程序实例
2014/08/21 Python
python进阶教程之函数对象(函数也是对象)
2014/08/30 Python
Python通过90行代码搭建一个音乐搜索工具
2015/07/29 Python
Python发展史及网络爬虫
2019/06/19 Python
Python中最好用的命令行参数解析工具(argparse)
2019/08/23 Python
在django项目中导出数据到excel文件并实现下载的功能
2020/03/13 Python
解决Python 写文件报错TypeError的问题
2020/10/23 Python
Skyscanner波兰:廉价航班
2017/11/07 全球购物
全球领先的在线cosplay服装商店:RoleCosplay
2020/01/18 全球购物
内部类的定义、种类以及优点
2013/10/16 面试题
自动化工程专业个人应聘自荐信
2013/09/26 职场文书
30岁生日感言
2014/01/25 职场文书
青年文明号创建承诺
2014/03/31 职场文书
博士毕业生自我鉴定范文
2014/04/13 职场文书
2014年政教处工作总结
2014/12/20 职场文书
2015年领班工作总结
2015/04/29 职场文书
重阳节活动主持词
2015/07/04 职场文书
SQL Server携程核心系统无感迁移到MySQL实战
2022/06/01 SQL Server