当前位置: 首页 > news >正文

@pytest.fixture和setup/teardown

一.定义fixture
定义:@pytest.fixture是 Pytest 中用于定义​​测试夹具(Fixture)​​的核心装饰器,其核心作用是​​为测试用例提供可复用的资源初始化、数据准备和清理逻辑​​

二:代替setup 和 teardown
image

setup = pytest.fixture
yield = teardown

三.参数注入(不显式)
image

四.核心特征
作用域(SCope)

作用域 触发时机 典型场景
function 每个测试函数执行前触发(默认) 初始化测试数据
class 每个测试类执行前触发 共享类级资源(如浏览器实例)
module 每个模块(.py文件)执行前触发 数据库连接、配置加载
session 整个测试会话(所有用例)执行前触发 全局资源(如环境变量设置)

五.参数化(params)
通过params参数化多组数据驱动测试
image

六.自动执行
通过 autouse=True自动注入 Fixture,无需显式调用:
image

高级用法
1.依赖注入
Fixture 可以依赖其他 Fixture,通过函数参数传递:
image

  1. ​​清理操作(Teardown)​
    使用 yield或 addfinalizer实现后置清理:
    image
    使用 yield或 addfinalizer实现后置清理:
    image

3.跨模块共享
conftest.py文件共享Fixture供目录下模块自动调用
image
image

常见问题

常见问题 原因分析 解决方案
Fixture "xxx" not found 参数名与 Fixture 名称不匹配 检查名称拼写或导入路径
测试数据污染 Fixture 作用域过小 扩大作用域(如 module)
依赖循环(A 依赖 B,B 依赖 A) 依赖链设计错误 重构为层级依赖或使用 request
测试数据污染 未清理测试数据 使用 yield或 addfinalizer
Fixture 未执行 未正确导入或作用域不匹配 检查 conftest.py路径和 scope
依赖关系错误 Fixture 依赖未正确注入 检查参数传递顺序和名称
http://www.jsqmd.com/news/30328/

相关文章:

  • 矿山通信如何实现全域一体化?迈威为煤矿装上了“智慧神经网络”
  • Java异常处理实战精要:构建稳定应用的基石
  • €$P2025
  • CSP2025 补题
  • 哈希学习总结
  • 142.环形链表 II
  • 2025 年 11 月制冷设备厂家推荐排行榜,小型制冷设备,空调制冷设备,工业制冷设备,商用制冷设备,大型制冷设备,制冷设备安装与维修服务公司推荐
  • 从创作到分析全搞定!2025公众号效率工具深度测评,这波升级95%的人还不知道
  • 20232304 2025-2026-1 《网络与系统攻防技术》实验四实验报告
  • k8s-java应用部署(4)
  • 指数函数和对数函数
  • 2025-11-03 早报新闻
  • 单目三角化原理 - MKT
  • [CEOI 2017] Sure Bet
  • Java数组——三种初始化及内存分析,数组的基本特点,下标越界与小结
  • LeRobot v0.4.0 正式发布:全面提升开源机器人的学习能力
  • QPS、TPS、PV、UV、并发量
  • 补码加减法
  • 今天总结
  • whk 笔记
  • 冬月做题记录
  • 11月3号
  • 低代码与传统开发:不是替代,而是互补
  • 11.3模拟赛
  • 标题:低代码落地避坑指南:5 个最容易踩的雷区及解决方案
  • 2025年平板清洗机标杆厂家最新推荐:恒泰清洗,超声波清洗机/清洗烘干机/全自动清洗机/周转箱清洗机/工业清洗机/树立高效洁净新标准
  • 2025 年度盘点,最新主流 IM SDK 安全合规排名:融云打造全球化业务安全底座
  • P2650 弹幕考察 题解
  • 2025防火/模压/瓦楞/大跨距/热镀锌/热浸锌/不锈钢/光伏/铝合金/锌铝镁/电缆桥架推荐榜:百著金属以全场景防护领跑,四家企业凭细分优势突围
  • 视频工具FFmpeg