Pytest参数化parametrize使用代码实例


Posted in Python onFebruary 22, 2020

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

在测试用例的前面加上:

@pytest.mark.parametrize("参数名",列表数据)

参数名:用来接收每一项数据,并作为测试用例的参数。

列表数据:一组测试数据。

示例代码:

import pytest
test_datas = [
  (11, 22, 33),
  (22, 33, 55)
]

datas_dict = [
  {"a": 1, "b": 2, "c": 3},
  {"a": 11, "b": 22, "c": 33},
  {"a": 111, "b": 222, "c": 333},
]

# 方式一:直接写
@pytest.mark.parametrize("a, b, c", [(1, 2, 3), (4, 5, 9)])
def test_add01(a, b, c):
  res = a + b
  assert res == c

# 方式二:参数为列表中嵌套元组
@pytest.mark.parametrize("data", test_datas)
def test_add02(data):
  res = data[0] + data[1]
  assert res == data[2]

# 方式三:参数为列表中嵌套字典
@pytest.mark.parametrize("data", datas_dict)
def test_add03(data):
  res = data["a"] + data["b"]
  assert res == data["c"]

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

Python 相关文章推荐
详解python之简单主机批量管理工具
Jan 27 Python
Python使用PyCrypto实现AES加密功能示例
May 22 Python
Python中执行存储过程及获取存储过程返回值的方法
Oct 07 Python
浅析Python3爬虫登录模拟
Feb 07 Python
Python Xml文件添加字节属性的方法
Mar 31 Python
python批量修改文件编码格式的方法
May 31 Python
使用PyCharm创建Django项目及基本配置详解
Oct 24 Python
python视频按帧截取图片工具
Jul 23 Python
简单了解python 生成器 列表推导式 生成器表达式
Aug 22 Python
Python 通过截图匹配原图中的位置(opencv)实例
Aug 27 Python
分布式全文检索引擎ElasticSearch原理及使用实例
Nov 14 Python
详解Python模块化编程与装饰器
Jan 16 Python
Pytest mark使用实例及原理解析
Feb 22 #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
You might like
获取远程文件大小的php函数
2010/01/11 PHP
php实现粘贴截图并完成上传功能
2015/05/17 PHP
PHP实现多图上传和单图上传功能
2018/05/17 PHP
PHP5.5新特性之yield理解与用法实例分析
2019/01/11 PHP
PHP使用PDO操作sqlite数据库应用案例
2019/03/07 PHP
laravel 实现用户登录注销并限制功能
2019/10/24 PHP
使用Rancher在K8S上部署高性能PHP应用程序的教程
2020/07/10 PHP
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
JS实现一键回顶功能示例代码
2013/10/28 Javascript
jQuery中unwrap()方法用法实例
2015/01/16 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
2015/07/26 Javascript
javascript的BOM
2016/05/03 Javascript
js 动态给元素添加、移除事件的实现方法
2016/07/19 Javascript
JS中使用FormData上传文件、图片的方法
2016/08/07 Javascript
Extjs gridpanel 中的checkbox(复选框)根据某行的条件不能选中的解决方法
2017/02/17 Javascript
Nodejs之TCP服务端与客户端聊天程序详解
2017/07/07 NodeJs
javascript少儿编程关于返回值的函数内容
2018/05/27 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
Javascript模拟实现new原理解析
2020/03/03 Javascript
vue动态设置路由权限的主要思路
2021/01/13 Vue.js
[01:04:14]OG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
Python内置数据类型详解
2014/08/18 Python
python中print的不换行即时输出的快速解决方法
2016/07/20 Python
理解python中生成器用法
2017/12/20 Python
Pyinstaller将py打包成exe的实例
2018/03/31 Python
Python3.5 Pandas模块之DataFrame用法实例分析
2019/04/23 Python
python的flask框架难学吗
2020/07/31 Python
Python文件名匹配与文件复制的实现
2020/12/11 Python
印度尼西亚值得信赖的第一家网店:Bhinneka
2018/07/16 全球购物
Servlet的生命周期
2013/08/25 面试题
专业销售业务员求职信
2013/11/18 职场文书
七一党建活动方案
2014/01/28 职场文书
我们的节日清明节活动方案
2014/03/05 职场文书
离婚起诉书怎么写
2015/05/19 职场文书
MySQL修改默认引擎和字符集详情
2021/09/25 MySQL
上个世纪50年代的可穿戴技术:无线电帽子
2022/02/18 无线电