前言
设计接口测试用例时,一个接口可以有多条测试用例,那么自动化测试时,可以用参数化的方式,实现验证不同的测试数据,pytest单元测试框架可以用@pytest.mark.paramtrize(argnames,argvalues)进行参数化处理
一、paramtrize参数说明
@pytest.mark.paramtrize(argnames,argvalues)
argnames:参数名,是字符串,中间用逗号分隔表示多个参数名
argvalues:参数值,列表中有几个元素,就会生成几条用例
二、paramtrize使用
使用步骤:
1、在用例前使用@pytest.mark.paramtrize()装饰器
2、paramtrize(‘inData’,get_param)中inData是自定义参数名,get_param是引入的参数列表
3、将自定义的参数名inData,作为参数传给测试用例test_01(inData)
4、最后可以在测试用例内部直接使用inData参数
代码如下(示例):
import pytest
get_param = [(1,1),(2,2),(3,3)]
@pytest.mark.parametrize("inData,outData", get_param)
def test_01(inData,outData):
assert inData == outData
#运行结果
param.py::test_01[1-1] PASSED [ 33%]
param.py::test_01[2-2] PASSED [ 66%]
param.py::test_01[3-3] PASSED [100%]
============================== 3 passed in 0.06s ==============================