【pytest04】pytest框架fixture应用篇(2)-params参数化和parametrize参数化

本文介绍了pytest框架中fixture的params参数化功能,通过示例展示了如何使用params进行数据驱动测试,以及fixture的autouse和ids参数。同时,文章还探讨了使用@pytest.mark.parametrize方法进行参数化的两种方式,包括类似解包功能的应用。文章最后推荐了一个软件测试技术交流群。

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

一、Fixture参数之params参数可实现参数化:(可以为list和tuple,或者字典列表,字典元祖等)

实例如下:

import pytest

def read_yaml():
    return ['1','2','3']

@pytest.fixture(params=read_yaml())
def get_param(request):
    return request.param

def test01(get_param):
    print('测试用例:'+get_param)

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

注意:

1.此例中test01方法被执行了三次,分别使用的数据为'1','2','3',此结果类似于ddt数据驱动的功能。特别注意:这里的request参数名是固定的,然后request.param的param没有s哦。

2.可以把return request.param改成yield request.param,yield也是返回的意思,它和return的区别在于return返回后后面不能接代码,但是yield返回后,后面还可以接代码。

Fix

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值