python之fixture作用域
@pytest.fixture()
1、fixture命名不要以test开头
2、fixture是有返回值得,没有返回值默认为None
3、默念作用域是function
4、可以写在conftest.py,也不可以不写
测试文件.py
class Testb(object):
datas = ['zhangsan1','lisi1']
@pytest.mark.parametrize('data', datas)
def test0002(self,data,writeb):
print("传参:",data)
return data
class Testa(object):
datas = ['zhangsan','lisi']
@pytest.mark.parametrize('data', datas)
def test0002(self,data,writeb):
print("传参:",data)
return data
作用域:module,.py只执行一次“开始”
conftest.py
@pytest.fixture(scope="module")
def writeb():
print("开始")
yield
# print("从testd拿值",datas)
print("结束")
打印结果

作用域:class,每个类只执行一次“开始”,一共有2个类,所以执行2次
conftest.py
@pytest.fixture(scope="class")
def writeb():
print("开始")
yield
# print("从testd拿值",datas)
print("结束")
打印结果

作用域:session,所有案例执行只执行一次,“开始”
conftest.py
@pytest.fixture(scope="session")
def writeb():
print("开始")
yield
# print("从testd拿值",datas)
print("结束")
打印结果

作用域:function,每个案例都执行一次,一共4条案例,执行4次“开始”
conftest.py
@pytest.fixture(scope="function")
def writeb():
print("开始")
yield
# print("从testd拿值",datas)
print("结束")
打印结果

上班求生存,下班求发展

浙公网安备 33010602011771号