文章目录
前言
fixture装饰器,在其他函数,模块,类或整个工程调用它时会被优先执行,通常用于前置处理。一般用在获取测试用例的前置条件,比如,在跑测试用例之前先要进行数据清理,或者需要获取某个id,把id传入测试用例才可以跑
一、fixture参数
@pytest.fixture(scope=“function”, params=None, autouse=False, ids=None, name=None)
常用参数解析:
scope:被标记方法的作用域
function (default):作用于每个测试方法,每个test都运行一次
class:作用于整个类,每个class的所有test只运行一次
module:作用于整个模块,每个module的所有test只运行一次
session:作用于整个session(慎用),每个session只运行一次
params:(list类型)提供参数数据,供调用标记方法的函数使用
autouse:是否自动运行,默认为False不运行,设置为True自动运行
二、fixture函数名称作为参数传入
代码如下(示例):
import pytest
@pytest.fixture()
def use_fixture():
print("------->first")
class TestOne:
def test_one(self,use_fixture):
print("------->test_case")
if __name__ == '__main__':
pytest.main("-s a_fix.py")
说明:use_fixture比test_one用例早执行
二、使用usefixture (fixture 名称)
代码如下ÿ