fixture的作用
fixture在测试函数前后运行,代码可以定制,满足多变的测试需求
功能包括:定义传入测试中的数据集、配置测试前系统的初始状态、为批量测试提供数据源等
fixture是pytest把在测试前后做预备和清理工作的代码,分离出核心逻辑的一种机制
使用场景
用例1需要登录,用例2不需要登录,用例3需要登录,这种场景无法通过setup、teardown实现;要想实现此场景,就用到fixture了
使用方法
调用fixture函数的两种方式:1 把函数当做参数传入 2 用usefixtures
@pytest.fixture()
def login():
return "登录"
class TestLogin:
# 方式一:把fixture函数当做参数传入
def test_case1(self, login):
print(login)
print("需要登录")
def test_case2(self):
print("不需要登录")
# 方式二:用usefixtures调用fixture函数
@pytest.mark.usefixtures("login")
def test_case3(self):
print("需要登录")
若所有用例都需要调用fixture函数,编码比较麻烦,我们可以用pytest.fixture(autouse=True),则模块中所有的用例将自动调用fixture函数
@pytest.fixture(autouse=True)
def login()