pytest参数化处理;使用参数化装饰器、解析列表、元组、字典等数据
pytest参数化处理
在pytest中,可以使用参数化测试,即每组参数都独立执行一次测试
使用的工具就是pytest.mark.parametrize(argnames,argvalues)
import pytest #l列表 date=['123','456'] @pytest.mark.parametrize('pwd',date) def test1(pwd): print(pwd) #元组 data2=[(1,2,3),(4,5,6)] @pytest.mark.parametrize('a,b,c',data2) def test2(a,b,c): print(a,b,c) #字典 data3 =( { 'user':1, 'pwd':2 }, { 'age':3, 'email':'yang@qq.com' } ) @pytest.mark.parametrize('dic',data3) def test3(dic): print(dic) data_1 =[ pytest.param(1,2,3,id="(a+b):pass"), #id的值可以自定义,只要方便理解每个用例是干什么的即可 pytest.param(4,5,10,id="(a+b):fail") ] def add(a,b): return a+b class TestParametrize(object): @pytest.mark.parametrize('a,b,expect',data_1) def test_1(self,a,b,expect): assert add(a,b) == expect