pytest中的fixture及conftest对测试用例管理的作用

fixture是什么?

先看AI给出的解释:

        在pytest中,fixture是一种用于管理测试用例执行过程中共享资源的工具。通过fixture,可以在测试用例执行前后进行一些初始化和清理操作,以确保测试用例能够在一个可控的环境中运行。fixture可以用来模拟测试环境、准备测试数据、管理依赖关系等。

        通过在测试用例函数参数中使用装饰器@pytest.fixture来定义fixture,并将其传递给需要使用该fixture的测试用例函数。pytest将会在执行测试用例前自动调用fixture函数,并将其返回值传递给测试用例函数。fixture函数可以返回各种类型的值,如数据、对象、函数等。

        fixture的作用范围可以是整个测试模块、整个测试会话或者只作用于某个具体的测试用例函数。fixture还支持参数化,可以根据需要动态地生成不同的fixture实例。

其实,可以简单地理解fixture就是一个加了 @pytest.fixture装饰器的函数,需要有函数名、可以传递入参,执行完成可以返回各种类型的值或对象、他们也可以被其他的fixture调用。

而@pytest.fixture这个装饰器的作用就在于,指定当前这个函数的作用域,也就是它每次被调用时都会被执行,还是会自行判断是否需要执行。

另外,与函数的不同在于,它被调用(使用)时是作为参数传递给调用者的,而不是像普通函数那样被调用。

它函数的本质

1、函数

1)这里定义了一个名为fixture1_function的函数,入参为base_url,函数体内实现的功能为打印base_url(base_url为pytest.ini通过addopts传入的一个参数,这里没有实际意义,仅为了做入参)

2)写了一个测试用例,test_fixtures1,并在里面调用fixture1_function

def fixture1_function(base_url):
    print("\n这是一个普通函数,入参为base_url=" + base_url)


def test_fixtures1(base_url):
    fixture1_function(base_url)
    print("这是test1")

执行结果:

先执行被调用的函数,在执行测试用例中的后续步骤。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值