一、代码示例
import pytest
'''装饰测试类:
适用场景:登录框的多种情况组合测试。比如账号空、密码空、账号密码都为空,可以用参数化方式处理'''
@pytest.mark.parametrize("test_input,expected", [("3+5", 8), ("2+4", 6), ("6*9", 42)])
def test_eval(test_input, expected):
print(f"测试数据{test_input},期望结果{expected}")
assert eval(test_input) == expected
'''“笛卡尔积”,多个参数化装饰器:
当装饰器 @pytest.mark.parametrize 装饰测试类时,会将数据集合传递给类的所有测试用例方法,“笛卡尔积”,多个参数化装饰器'''
#笛卡尔积,组合数据
data_1 = [1,2,3]
data_2=['a','b']
@pytest.mark.parametrize('test1',data_1)
@pytest.mark.parametrize('test2',data_2)
def test_parametrize_1(test1,test2):
print(f'笛卡尔积 测试数据为:{test1},{test2}')
'''参数化 ,传入字典数据'''
dic_1=(
{
"user":"admin",
"pwd":123456
},
{
"user": "test",
"pwd": 123
}
)
@pytest.mark.parametrize("dic",dic_1)
def test_parametrize_2(dic):
print(f"测试数据为\n{dic}")
二、执行结果图