赞
踩
使用前置函数有两种方式
1、@pytest.mark.usefixtures()
2、作为函数的入参传入
使用@pytest.mark.usefixtures()时,可将该装饰器放在类前或用例前,但是不能获取返回值,所以一般是用在打开浏览器操作或者初始化的一些工作,@pytest.mark.usefixtures()传入要使用的前置函数名,并且可传入多个前置函数,例如@pytest.mark.usefixtures(“login”,“open”),按顺序执行前置函数
作为函数的入参传入时,执行前置函数的同时也可获取前置函数的返回值,并且也可以传入多个前置函数,但是要注意,如果前置步骤作用域是class,在用例中,不管多少用例调用了前置函数,该前置函数都将只执行一次,但每个用例都能获取到返回值(@pytest.mark.usefixtures同理)
如果前置函数中加了autouse=True时,不管用例是否调用该前置函数,该前置函数都会自动执行(遵循作用域),如下
conftest.py
@pytest.fixture(autouse=True,scope='function')
def start():
print('a=1')
a=1
yield a
用例
class Test_01:
def test_01(self):
print('---用例01---')
def test_02(self):
print('---用例02---')
def test_03(self):
print('---用例03---')
结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。