pytest fixture

pytest fixture fixture是 pytest 最核心的功能,用来做:前置准备、后置清理、数据共享,比setup/teardown更灵活、更强大。1. Fixture 基础概念1.1 什么是 FixtureFixture 是 pytest 的核心特性,用于: 1. **前置准备** - 创建测试所需的资源(数据、连接、文件等) 2. **后置清理** - 测试完成后释放资源 3. **依赖注入** - 将资源注入到测试函数中 4. **数据共享** - 多个测试共享相同的准备逻辑 Fixture vs setUp/tearDown: - setUp/tearDown: 每个测试都必须执行,不够灵活 - Fixture: 按需使用,可以控制作用域,更灵活2.最简单用法(必学)1. 基础步骤用@pytest.fixture装饰一个函数把 fixture 名字直接写进测试函数参数里测试函数就能直接用它import pytest # 定义 fixture @pytest.fixture def login(): print("\n=== 前置:执行登录 ===") # 可以返回数据给测试用例 return {"token": "123456", "user": "test"} # 测试用例使用 fixture:直接把名字当参数