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 的作用域