Python接口自动化测试之pytest:(五)Fixture的参数化使用

在mark标记中我们已经知道装饰器@pytest.mark.parametrize()对测试方法可以进行参数化,那么参数化也可以通过固件实现,只不过Fixture的参数化是通过params参数实现的。

同一个测试方法可能需要不同的参数来构造逻辑、环境或结果基本相同的场景,可以使用Fixture的参数化来减少重复工作。

来看看下面的例子:固件参数化使用Pytest的内置固件request,使用request.param来获取参数。

import pytest

@pytest.fixture(params=[(1,2,3),(2,3,5),(4,6,9)])
def test_fix_params(request):
    return request.param #使用内置固件request来获取参数

def test_fix_add(test_fix_params): #在参数中调用fixture的参数化方法
    assert test_fix_params[2] == test_fix_params[0] + test_fix_params[1]

if __name__ == '__main__':
    pytest.main(['-s', '-v', 'test_fixture_para.py'])

执行结果如下:可见测试方法共执行了3次。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鸣宝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值