python输入多组测试数据_Python 自动化测试(三): pytest 参数化测试用例构建

本文介绍了如何使用Pytest的`@pytest.mark.parametrize`进行参数化测试用例的构建。通过示例展示了如何创建并运行多组测试数据,以及如何结合`@pytest.fixture`实现更复杂的参数传递。通过参数化,可以有效地减少重复代码,提高测试覆盖率。
摘要由CSDN通过智能技术生成

本文节选自霍格沃玆测试学院内部教材,文末链接进阶学习。

在之前的文章中主要分享了 pytest 的实用特性,接下来讲 Pytest 参数化用例的构建。

如果待测试的输入与输出是一组数据,可以把测试数据组织起来用不同的测试数据调用相同的测试方法。参数化顾名思义就是把不同的参数,写到一个集合里,然后程序会自动取值运行用例,直到集合为空便结束。pytest 中可以使用 @pytest.mark.parametrize 来参数化。

使用 parametrize 实现参数化

parametrize( ) 方法源码:

def parametrize(self,argnames, argvalues, indirect=False, ids=None, \

scope=None):

主要参数说明

argsnames :参数名,是个字符串,如中间用逗号分隔则表示为多个参数名

argsvalues :参数值,参数组成的列表,列表中有几个元素,就会生成几条用例

使用方法

使用 @pytest.mark.paramtrize() 装饰测试方法

parametrize('data', param) 中的 “data” 是自定义的参数名,param 是引入的参数列表

将自定义的参数名 data 作为参数传给测试用例 test_func

然后就可以在测试用例内部使用 data 的参数了

创建测试用例,传入三组参数,每组两个元素,判断每组参数里面表达式和值是否相等,代码如下:

@pytest.mark.parametrize("test_input,expected",[("3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值