💻 Pytest fixture 🌀
1. 什么是fixture
fixture 是 pytest 中用于管理测试环境的工具。它可以在测试函数执行之前和之后执行一些操作,比如设置和清理环境。fixture 可以用于设置测试数据、配置测试环境、管理测试资源等。
fixture 通常用于以下场景:
- 设置测试环境
- 管理测试数据
- 管理测试资源
- 管理测试配置
2. fixture 的定义
fixture 的定义通常在 conftest.py 文件中,也可以在测试文件中定义。
2.1 在 conftest.py 中定义
在 conftest.py 文件中定义 fixture 时,可以使用 pytest_fixture_setup
和 pytest_fixture_teardown
钩子函数来设置和清理 fixture。
import pytest
@pytest.fixture(scope="function")
def my_fixture():
print("Setting up my_fixture")
yield
print("Tearing down my_fixture")
2.2 在测试文件中定义
在测试文件中定义 fixture 时,可以使用 pytest.fixture
装饰器来定义 fixture。
import pytest
@pytest.fixture(scope="function")
def my_fixture():
print("Setting up my_fixture")
yield
print("Tearing down my_fixture")