pytest结合yaml实现参数化

文章介绍了如何使用pytest的参数化功能来实现测试数据与代码的分离,通过`@pytest.mark.parametrize`装饰器声明参数化测试,并举例说明了如何将数据存储在yaml文件中,利用函数读取yaml数据。在测试脚本中,通过调用这个函数获取yaml文件中的用例数据,实现对测试方法的参数化执行。示例展示了在测试登录功能时的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、作用

将测试数据参数化,单独管理测试数据,实现数据和代码分离

二、格式

@pytest.mark.parametrize('exp_data,data',[[a,b],[c,d],[e,f]...]),作用是声明下面的方法要做参数化,下面的函数在参数列表需要将上面的exp_data和data放进去,后面数据外面里面有元组列表都行

@pytest.mark.parametrize('exp_data,data',[[1,2],[1,1],[2,3]])
def test_pa(exp_data,data):
    assert exp_data == data
# 没有写循环,实际上是在循环运行的,是框架实现的,测试方法只有一个,但一共会运行三次,是三条用例

三、参数化在项目里应用

上述后面的列表数据可以写在yaml文件里,通过一个通用读取yaml方法工具读取yaml文件并返回特定结构用例数据,在参数化处数据写上函数名即可

yaml语法见:yaml语法学习笔记

# get_yaml_data.py
def get_yaml_case(file
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值