首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

pytest数据驱动-pytest.mark.parametrize

pytest.mark.parametrize 是 pytest 的内置装饰器,它允许在 function 或者 class 上定义多组参数和 fixture来实现数据驱动。...@pytest.mark.parametrize() 装饰器接收两个参数:第一个参数以字符串的形式存在,表示被被测试函数接受的参数,假如被测试函数有多个参数,则以逗号分开。第二个参数用于保存测试数据。...pytest.mark.parametrize单参数 ? 运行结果 ? 以上是单参数的一个例子,在这个例子中,test_equal函数接收一个参数 num,这个参数有三条数据,分别是1,2,3 。...pytest.mark.parametrize多参数 通常在工作中进行测试的参数不止一个,多参数还是比较常见的,因为不仅仅包括用于测试的数据, 还包括用于验证的数据。 示例1 ? 运行结果 ?...来实现数据驱动,而 pytest.mark.parametrize 接受的数据格式要求为: a.如果只有一组数据,以列表的形式存在; b.如果有多组数据,以列表嵌套元组的形式存在(如[0,1] 或者

2.2K10
您找到你想要的搜索结果了吗?
是的
没有找到

Python Pytest装饰器@pytest.mark.parametrize详解

Pytest中装饰器@pytest.mark.parametrize('参数名',list)可以实现测试用例参数化,类似DDT 如:@pytest.mark.parametrize('请求方式,接口地址...list的每个元素都是一个元组,元组里的每个元素和按参数顺序一一对应 3、传一个参数 @pytest.mark.parametrize('参数名',list) 进行参数化 4、传两个参数@pytest.mark.parametrize...('参数名1,参数名2',[(参数1_data[0], 参数2_data[0]),(参数1_data[1], 参数2_data[1])]) 进行参数化 import pytest #单参数单值 @pytest.mark.parametrize...==== 1 passed in 0.15s ============================== Process finished with exit code 0 #单参数多值 @pytest.mark.parametrize...("x", [0, 1]) @pytest.mark.parametrize("y", [2, 3]) def test_foo(x, y): print("测试数据组合:x->%s, y->%

7.8K12

软件测试测试开发全日制|Pytest参数化神器,pytest.mark.parametrize()使用

参数化方式在unittest中,我们使用ddt库配合unittest实现数据驱动,在pytest中并不需要额外的库,通过pytest.mark.parametrize()即可实现参数化。...pytest有三种传参方式:@pytest.mark.parametrize() 通过装饰器方式进行参数化(最常使用)pytest.fixture()方式进行参数化,fixture装饰的函数可以作为参数传入其他函数...test_par1[5] PASSED============================== 5 passed in 0.04s ==============================注:@pytest.mark.parametrize...多个传参示例代码如下:import pytestdef add(a,b): return a+bclass TestParams: @pytest.mark.parametrize('a,b...difference>self = , a = 3, b = 4c = 5 @pytest.mark.parametrize

16310

软件测试测试开发全日制|Pytest参数化神器,pytest.mark.parametrize()使用

参数化方式 在unittest中,我们使用ddt库配合unittest实现数据驱动,在pytest中并不需要额外的库,通过pytest.mark.parametrize()即可实现参数化。...pytest有三种传参方式: @pytest.mark.parametrize() 通过装饰器方式进行参数化(最常使用) pytest.fixture()方式进行参数化,fixture装饰的函数可以作为参数传入其他函数...文件中存放参数化函数,可作用于模块内的所有测试用例 单个传参 示例代码如下: import pytest def add(a,b): return a+b class TestParams: @pytest.mark.parametrize...test_par1[5] PASSED ============================== 5 passed in 0.04s ============================== 注:@pytest.mark.parametrize...多个传参 示例代码如下: import pytest def add(a,b): return a+b class TestParams: @pytest.mark.parametrize

12310

Pytest学习笔记3——参数化

格式:@pytest.mark.parametrize("参数名称","参数列表"),第一个是参数的名称,第二个是参数列表(list),也就是参数的值。   ...如:@pytest.mark.parametrize("x",[1, 2, 3])   如:@pytest.mark.parametrize('请求方式,接口地址,传参,预期结果',[('get','www.baidu.com...list的每个元素都是一个元组,元组里的每个元素和按参数顺序一一对应   3、传一个参数 @pytest.mark.parametrize('参数名',list) 进行参数化   4、传两个参数@pytest.mark.parametrize...与request结合使用   如果装饰器@pytest.mark.parametrize与request结合使用,如果测试方法写在类中,则@pytest.mark.parametrize的参数名称要与@...因为使用@pytest.mark.parametrize装饰器参数化时,默认是以参数而不是函数,这里的@pytest.mark.parametrize("get_data",seq)中get_data是参数名称

57110

pytest这么多参数化用法,你用过几个?

一、前言 Pytest中装饰器@pytest.mark.parametrize('参数名',list)可以实现测试用例参数化,类似DDT 二、如何使用 第一个参数是字符串,多个参数中间用逗号隔开...list的每个元素都是一个元组,元组里的每个元素和按参数顺序一一对应 传一个参数 @pytest.mark.parametrize('参数名',list) 进行参数化 传两个参数@pytest.mark.parametrize...2、一个参数多个值 示例代码如下: @pytest.mark.parametrize("input", ["输入值1", "输入值2", "输入值3", "输入值4", "输入值5"]) def test_case2...3、多参数多值 示例代码如下: @pytest.mark.parametrize("userName","passWord",[("xiaoqiang","123456"),("rose","123456...("a", data1) @pytest.mark.parametrize("b", data2) @pytest.mark.parametrize("c", data3) def test_case3

3.4K30

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

https://www.cnblogs.com/poloyy/category/1690628.html 前言 参数化 @pytest.mark.parametrize 的学习:https://www.cnblogs.com.../poloyy/p/12675457.html 默认 allure 报告上的测试用例标题不设置默认就是用例名称,这样可读性不高 当结合 @pytest.mark.parametrize 参数化完成数据驱动时...username": "name2", "pwd": "pwd2"}, {"username": "name3", "pwd": "pwd3"} ] @allure.story('登录功能') @pytest.mark.parametrize..."username is name2,pwd is pwd2", "username is name3,pwd is pwd3" ] @allure.story('登录功能') @pytest.mark.parametrize...print(dict['username'], dict['pwd']) @allure.story('传值进fixture') @allure.title('登录测试用例2{login}') @pytest.mark.parametrize

1.2K42

pytest parametrize fixture_参数化查询

前言 当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化。...官方示例 下面是一个典型的范例,检查特定的输入所期望的输出是否匹配: # test_expectation.py import pytest @pytest.mark.parametrize("test_input...", 42),]) def test_eval(test_input, expected): assert eval(test_input) == expected 测试用例传参需要用装饰器@pytest.mark.parametrize...= 42 Expected :42 Actual :54 test_input = '6*9', expected = 42 @pytest.mark.parametrize...("x", [0, 1]) @pytest.mark.parametrize("y", [2, 3]) def test_foo(x, y): print("测试数据组合:x->%s, y->

38720

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券