1、pytest.mark.parametrize装饰器可以实现测试用例参数化。

语法:
1). @pytest.mark.parametrize("参数名",["01_值1","02_值2"])
2). @pytest.mark.parametrize("参1,参2",[("01_参1的值","01_参2的值"),("02_参1的值","02_参2的值")])
注意:
1. 参数名:
1). 多个参数名时,参数与参数之间使用逗号分隔,但是注意所有的参数必须为一个字符串!
2. 参数值:
1). 单个参数名的值,格式必须为列表,如:["admin"," admin ","admin123"]
2). 多个参数值:格式为列表,列表内嵌套元祖,如:[("第一轮参1值","第一轮参2值"),("第二轮参1值","第二轮参2值")]
3. 调用的参数名必须和设置的参数化引用名称一样。

2、实例:

import pytest

@pytest.mark.parametrize("req,expect",
[("3+5",8),
("1+1",2),
("8-1",7)
])
def test11(req,expect):
assert eval(req)==expect if __name__ == '__main__':
pytest.main(["-s","text_01.py"])

运行结果:

参数组合:1.若要获得多个参数化参数的所有组合,可以堆叠参数化装饰器

import pytest
@pytest.mark.parametrize("x", [, ])
@pytest.mark.parametrize("y", [, ])
def test_foo(x, y):
print("测试数据组合:x->%s, y->%s" % (x, y)) if __name__ == "__main__":
pytest.main(["-s", "test_canshu1.py"])

运行结果:

3、有时候功能变动,用例就会失败,这种预料之类会失败的用例可以标记为忽视,暂不运行。使用内置的mark.xfai

import pytest

@pytest.mark.parametrize("req,expect",
[("3+5",8),
("1+1",2),
pytest.param("6 * 9", 42, marks=pytest.mark.xfail)#用例失败,标记忽视
])
def test11(req,expect):
assert eval(req)==expect if __name__ == '__main__':
pytest.main(["-s","text_01.py"])

运行结果:

预期结果 参数化parametrize的更多相关文章

  1. pytest 8 参数化parametrize

    pytest.mark.parametrize装饰器可以实现用例参数化 1.以下是一个实现检查一定的输入和期望输出测试功能的典型例子 import pytest @pytest.mark.parame ...

  2. pytest_参数化parametrize

    前言 pytest.mark.parametrize装饰器可以实现测试用例参数化. parametrizing 1.这里是一个实现检查一定的输入和期望输出测试功能的典型例子 import pytest ...

  3. pytest参数化 parametrize

    pytest.mark.parametrize装饰器可以实现测试用例参数化 parametrizing 1.这里是一个实现检查一定的输入和期望输出测试功能的典型例子 # content of test ...

  4. Pytest 系列(28)- 参数化 parametrize + @allure.title() 动态生成标题

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 参数化 @pytest.ma ...

  5. pytest文档8-参数化(parametrize)结合allure.title()生成不同标题报告

    参数化parametrize 先看一个简单的pytest参数化案例演示test_a.py # test_a.py import pytest import allure def login(usern ...

  6. Jmeter各种组件

    断言 用于检查测试中得到的响应数据等是否符合预期,用以保证性能测试过程中的数据交互与预期一致 参数化关联 参数化:指对每次发起的请求,参数名称相同,参数值进行替换,如登录三次系统,每次用不同的用户名和 ...

  7. 比培训机构还详细的 Python 学习路线,你信吗 0^0

    前言 这其实是将自己写的文章进行一个总结分类,并不代表最佳学习路线 会不断更新这篇文章...没链接的文章正在编写ing...会不会哪天我的这个目录就出现在培训机构的目录上了... 目前实战比较少(要是 ...

  8. pytest自动化6:pytest.mark.parametrize装饰器--测试用例参数化

    前言:pytest.mark.parametrize装饰器可以实现测试用例参数化. parametrizing 1.  下面是一个简单是实例,检查一定的输入和期望输出测试功能的典型例子 2.  标记单 ...

  9. Pytest系列(9) - 参数化@pytest.mark.parametrize

    如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html 前言 pytest允许在多个级别启 ...

随机推荐

  1. 架构探险笔记3-搭建轻量级Java web框架

    MVC(Model-View-Controller,模型-视图-控制器)是一种常见的设计模式,可以使用这个模式将应用程序进行解耦. 上一章我们使用Servlet来充当MVC模式中的Controller ...

  2. 第二阶段——个人工作总结DAY07

    1.昨天做了什么:昨天了解了一下时间抽也是一种ListView,然后就此学习了一下如何来修改. 2.今天打算做什么:今天在网上搜一些例子,找比较好看的界面,并实现代码. 3.遇到的困难:不知道最后连接 ...

  3. 【Oracle】【3】字段自增长(+1)

    业务场景——解决方案 1,每插入一条数据,其排序字段要增长1 —— Service层查询出最大值,再+1(参考博客的方法是触发器) 2,子表插入一条数据,主表某字段+1 —— where A.ID = ...

  4. 详解 java socket

    一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可 ...

  5. WDA基础九:BusinessGraphics

    好像很少有人用这玩意...好难玩,好废...和ABAP的那个图一样废.... 很多报表都是用BO,BI什么做的,不仅废,而且很多BO顾问不懂代码,写出来的报表挫的要死.... WDA的网页图形报表分析 ...

  6. 深入理解php内核

    目录 第一部分 基本原理 第一章 准备工作和背景知识 第一节 环境搭建 第二节 源码布局及阅读方法 第三节 常用代码 第四节 小结 第二章 用户代码的执行 第一节 PHP生命周期 第二节 从SAPI开 ...

  7. Maximum sub array

    Here I post a way to solve maximum sub array problem: The problem described like this: here is an ar ...

  8. NOIP2003加分二叉树

    题目描述 设一个n个节点的二叉树tree的中序遍历为(1,2,3,…,n),其中数字1,2,3,…,n为节点编号.每个节点都有一个分数(均为正整数),记第ii个节点的分数为di,treedi,tree ...

  9. 一个典型的多表参与连接的复杂SQL调优(SQL TUNING)引发的思考

    今天在看崔华老师所著SQL优化一书时,看到他解决SQL性能问题的一个案例,崔华老师成功定位问题并进行了解决.这里,在崔华老师分析定位的基础上,做进一步分析和推理,以便大家一起研究探讨,下面简述该案例场 ...

  10. liunx文件操作 文件查看

    文件的阅读命令 head 命令 head命令可以用来查看文件的开头部分,命令的格式是: head 文件名 默认设置,它只查看文件的前10行.但可以通过指定一个数字选项来改变要显示的行数,命令如下 he ...