Pytest-fixtrue前置后置
基本的前后置
def setup(self) #case开始前执行
def teardown(self) #case结算后行
def setup_class(self) #每个类前执行
def teardown_class(self) #每个类后执行
fixtrue装饰器–部分前后置
fixtrue装饰器
@pytes.fixtrue(scope='作用域',params='数据驱动',autouse='自动执行',
ids='数据驱动时重命名参数名',name='给fixtrue作用的函数重命名')
scope参数:
- function 函数之前/后执行
- class 类之前/后执行
- module 模块之前/后执行 (不太常用)
- package/session 回话前/后执行
--------函数前后置--------------------
test.py文件
@pytest.fixtrue(scope='function') #标记execute_database_sql函数为固件
def execute_database_sql():
print('sql') #前置代码
yieid
print('sql2')#后置代码
class Testfixtrue:
def test_test1(self):
print('test1')
def test_test2(self,execute_database_sql #传入固件进行使用):
print('test2')
-------类前后置--------------------
test.py文件
@pytest.fixtrue(scope='class')
def execute_database_sql():
print('sql')
yieid
print('sql2')
class Test01:
def test_test1(self):
print('test1')
@pytest.mack.usrfixtures('execute_database_sql')
#添加mack只执行这个类
class Test02:
def test_test2(self):
print('test2')
--------会话前后置 --------------------
注:
- 一般会结合conftest.py文件一起使用;
- 在conftest.py 单独存放fixtrue固件的配置文件;
- 可以存在多个conftest.py文件。
conftest.py文件
@pytest.fixtrue(scope='session',autouse='true')
#autouse自动执行不加的话test文件中的函数无法执行fixtrue
def execute_database_sql():
print('sql')
yieid
print('sql2')
test.py文件
class Testfixtrue:
def test_test1(self):
print('test1')
def test_test2(self):
print('test2')
支付宝红包外卖加鸡腿😊