pytest参数化出现错误:In test_parmaids: 4 parameter sets specified, with different number of ids: 3

前言

在学习pytest的参数化过程中,遇到了一个问题,执行pytest命令时出现错误,In test_parmaids: 4 parameter sets specified, with different number of ids: 3

源代码

@pytest.fixture()
def login3(request):
    param = request.param
    print(f"login name:{param['username']},login pwd:{param['pwd']}")
    return {'code':0,'msg':'success'}

data3 = [
    {"username":"username1","pwd":"pwd1"},
    {"username":"username2","pwd":"pwd2"},
    {"username":"username3","pwd":"pwd3"},
    {"username":"username4","pwd":"pwd4"}
]

ids = [
    "登录的用户名是username1 密码是pwd1",
    "登录的用户名是username2 密码是pwd2",
    "登录的用户名是username3 密码是pwd3",
    "登录的用户名是username4 密码是pwd4"
]

@allure.story("登录功能3")
@pytest.mark.parametrize('login3',data3, ids = ids, indirect=True)
def test_parmaids(login3):
    '''
    登录功能 - 测试用例3
    '''
    assert login3['code'] == 0

错误原因

我的data中的测试数据是4条,但是在ids中的字符串只有三个,少写了一个,导致的这个错误。

写在最后

我在解决这个问题的时候,发现不同的代码错误都会导致这个error,所以这个错误原因大家可以参考一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值