Pytest 测试用例生命周期管理 - 自动生效
简介
在自动化测试中,Fixture 可以用于自动生效(autouse),它们会自动在每个测试用例运行前自动调用,而无需在测试用例中显式引用 Fixture。
这对于执行通用的测试前和测试后操作非常有用。
使用场景
不想原测试⽅法有任何改动,或全部都⾃动实现⾃动应⽤,没有特例,也都不需要返回值时可以选择⾃动应⽤。
解决方案:使⽤ fixture 中参数 autouse=True
实现
使用步骤
- 在对应的 fixture ⽅法上⾯加装饰器
@pytest.fixture(autouse=True)
- 把 autouse 参数设置为 True。
@pytest.fixture(scope="function",autouse=True)
def login():
# setup 操作
print("完成登录操作")
token = "abcd"
username = 'hogwarts'
yield token,username # 相当于return
# teardown 操作
print("完成登出操作")
def test_case(login):
print("demo case")
运行结果:
总结
- fixture 自动生效