Pytest 测试用例生命周期管理-fixture 作用域
简介
pytest 允许控制 fixture 的 作用域。常见的作用域有 function(默认)、module、class、package 和 session。

使用步骤
将 @pytest.fixture() 中的 scope 参数设置成对应的作用域取值。
作用域说明
| 取值 | 范围 | 说明 |
|---|---|---|
| function | 函数级 | 默认作用域,每一个函数或方法都会调用,每个测试函数都会创建一个新的 fixture 实例 |
| class | 类级别 | 每个测试类只运行一次,同一类内的所有测试方法共享同一个 fixture 实例 |
| module | 模块级 | 每一个 py 文件调用一次,同一模块内的所有测试函数共享同一个 fixture 实例 |
| package | 包级 | 每一个 python 包只调用一次,同一包内的所有测试函数共享同一个 fixture 实例 |
| session | 会话级 | 每次会话只需要运行一次,会话内所有方法及类,模块都共享同一个 fixture 实例 |
总结
- fixture 的作用域