前后置设置
方式一:
1、用例级别的setup和teardown
2、测试类级别的前后置setup_class和teardown_class
class Testlogin:
@classmethod
def setup_class(cls):
print('---------------类级别后置---------')
@classmethod
def teardown_class(cls):
print('---------------类级别后置---------')
def setup(self):
print('---------------用例级别前置---------')
def teardown(self):
print('---------------用例级别后置---------')
def test01(self):
print('---------------test01---------')
assert 1000==1000
方式二:pytest.fixture
1,@pytest.fixture(scope=‘function’) 定义用例为函数
2、@pytest.fixture(scope=‘class’)定义用例为类
3、@pytest.fixture(scope=‘function’,autouse=‘true’) #autouse=‘true’,自动给每个函数之前都加上当前这个函数的前后置
@pytest.fixture(scope='function')
def case_setup(self):
print('---------------用例级别前置---------')
yield #利用yield来区分前后置
print('---------------用例级别后置---------')
@pytest.fixture(scope='class') #类级别
def cls_setup(self):
print('---------------类级别前置---------')
yield #利用yield来区分前后置
print('---------------类级别后置---------')
class Testlogin:
def test01(self,case_setup):
print('---------------test01---------')
assert 1000==1000
class Testlogin:
def test02(self,case_setup,cls_setup):
print('---------------test02---------')
assert 1000==1000
conftest.py
pytest中内置的一个文件,名字不能更改,用于存放前置或者后置定义的函数。系统会根据用到的前置或者后置的名字,自动去conftest文件查询