Skip to content

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