pytest参数化与数据驱动

本文详细介绍了pytest的参数化测试,包括参数化格式、测试类的参数化、多个parametrize的组合使用,以及如何通过ids提升可读性。同时,讨论了数据驱动的概念,建议在数据量较大时使用结构化文件存储,并给出了yaml语法的示例。
摘要由CSDN通过智能技术生成

参数化格式

在方法上写装饰器@pytest.mark.parametrize(argnames,argvalues)

argnames:要参数化的变量名,可以是string、list、tuple

argvalues:参数化的值,可以是list、list[tuple]

@pyrest.mark.parametrize("a",[1,2,3,4])
def test_func(a):
    print(a)

@pyrest.mark.parametrize("a,b",[(1,2),(3,4)])
def test_func(a,b):
    print(a+b)

测试类的参数化

测试类下的所有方法都要有入参

@pytest.mark.parametrize('a,b,result', [
    (1, 2, 3),
    (4, 5, 9)
])
class TestClass:
    def test_func(self, a, b, result):
        print(f"{result}={a} + {b}")

    def test_func2(self, a, b,<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值