python参数化3d_Python pytest参数化(数据驱动ddt)

参数化,就是将测试数据提取出来,与逻辑分离,通过参数传递不同的测试数据来驱动用例运行,又称为数据驱动测试(Data-Drive test,简写ddt)。

比如,有一组测试注册的测试用例,它们的测试流程相同,只是输入的测试数据不同,这种情况下,自动化测试就可以将数据与代码分离,只编写1个测试用例方法,以后增加测试用例或者修改测试用例,只需要修改数据,不需要修改测试逻辑。

pytest通过@pytest.mark.parametrize()即可实现参数化(测试函数中必须有参数)

一、测试函数参数化

1、单个参数

@pytest.mark.parametrize()中接收2个参数,第1个参数用字符串的形式标记要传递给测试函数的参数名称,注意,名称与测试函数中的参数名称必须一致,第2个参数表示要传递的测试数据(通常以元祖或列表的形式)。

168b066fefd1b7ef595954671ac5a5b1.png

2、多个参数

多个参数,@pytest.mark.parametrize()中仍传入2个参数,第1个参数用一个字符串标识要传递的参数名称,字符串用英文,分割,注意,名称和数量必须和测试函数中的参数一致,第2个参数表示要传递的测试数据(通常以二维列表或原则表示)。

fc3d7f7bf758f96e59fe4183ec471756.png

二、测试类参数化

测试类参数化,在类上面加@pytest.mark.parametrize()装饰器,实际上,也是对测试类中的方法进行参数化。可以传入单个参数或多个参数,类中的所有测试方法中的参数名称和个数(测试方法中必须使用参数),必须与@pytest.mark.parametrize()中标识的参数一致。

7ea75be5c1fe69e54dbcc3ae35c7da29.png

7fd1953f8c53cc67cfa4836ef4317ecf.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值