pytest.fixture
是 pytest 测试框架中的一个非常强大的功能,它允许你在测试函数运行前后执行一些设置或清理代码。以下是关于 pytest.fixture
的详细介绍:
一、定义与用途
pytest.fixture
是一个装饰器,用于标记一个函数为 fixture。Fixture 函数中的代码可以在测试函数运行之前或之后执行,用于设置测试环境、准备测试数据或清理测试资源等。
二、关键特性
- 命名与激活:
- Fixture 有独立的命名,并通过声明它们在测试函数、模块、类或整个项目中的使用来激活。
- 模块化:
- 每个 fixture 都可以互相调用,实现模块化的测试设置。
- 返回值:
- Fixture 可以有返回值,测试用例可以调用这些返回值作为参数。
- 作用域:
- 通过
scope
参数指定 fixture 的作用域,可以是function
(默认,每个测试函数调用一次)、class
(每个测试类调用一次)、module
(每个模块调用一次)或session
(整个测试会话期间调用一次)。
- 通过
- 参数化:
- 使用
params
- 使用