pytest之参数化parametrize的使用

在测试用例的前面加上
@pytest.mark.parametrize("参数名",列表数据)
参数名:用来接收每一项数据,并作为测试用例的参数。
列表数据:一组测试数据。

 

示例代码

import pytest
test_datas = [
    (11,22,33),(22,33,55)
]

datas_dict = [
    {"a": 1,"b": 2,"c": 3},{"a": 11,"b": 22,"c": 33},{"a": 111,"b": 222,"c": 333},]

# 方式一:直接写
@pytest.mark.parametrize("a,b,c",[(1,2,3),(4,5,9)])
def test_add01(a,c):
    res = a + b
    assert res == c

# 方式二:参数为列表中嵌套元组
@pytest.mark.parametrize("data",test_datas)
def test_add02(data):
    res = data[0] + data[1]
    assert res == data[2]

# 方式三:参数为列表中嵌套字典
@pytest.mark.parametrize("data",datas_dict)
def test_add03(data):
    res = data["a"] + data["b"]
    assert res == data["c"]

 

相关文章

功能概要:(目前已实现功能)公共展示部分:1.网站首页展示...
大体上把Python中的数据类型分为如下几类: Number(数字) ...
开发之前第一步,就是构造整个的项目结构。这就好比作一幅画...
源码编译方式安装Apache首先下载Apache源码压缩包,地址为ht...
前面说完了此项目的创建及数据模型设计的过程。如果未看过,...
python中常用的写爬虫的库有urllib2、requests,对于大多数比...