1、基本方式
- setup teardown setup_class teardown_class
- @pytest.fixture() 指定部分用例前置后置
- conftest.py 全局前置后置
2、示例
1、setup teardown setup_class teardown_class
import pytest
class TestDay03():
def setup_class(self):
print("在每个类执行前的初始化工作 :创建日志对象,数据库对象。。。。")
def setup(self):
print("在每个用例执行前的初始化工作 :打开浏览器,加载网页。。。。")
def test_01(self):
print("test_01------------测试01")
def test_02(self):
print("test_02------------测试02")
def test_03(self):
print("test_03-----------测试03")
def teardown(self):
print("每个用例之后的扫尾工作: 关闭浏览器..")
def teardown_class(self):
print("每个类之后的扫尾工作: 销毁日志对象 数据库对象..")
2、@pytest.fixture()
1、基本使用
import pytest
class TestDay03():
@pytest.fixture(scope="function")
def my_fixture(self):
print("部分用例的前置。。。。")
yield
print("部分用例的后置。。。。")
def test_01(self, my_fixture):
print("test_01------------测试01")
@pytest.fixture(scope="function",params=["胡歌","彭于晏","刘德华"],ids=["--huge--","--pyy--","--ldh--"])
def my_fixture(self,request):
print("部分用例的前置。。。。")
yield request.param
print("部分用例的后置。。。。")
def test_01(self,my_fixture):
print("test_01------------测试01")
print("接收过来的值:"+my_fixture)
2、使用autouse 自动给用例添加前后置
#autouse默认为FALSE,
# @pytest.fixture(scope="function",autouse=True)
# def my_fixture(self):
# print("部分用例的前置。。。。")
def test_01(self):
print("test_01------------测试01")
3、conftest.py 无需导入直接给用例使用