pytest(二):关于pytest自动化脚本编写中,初始化方式setup_class与fixture的对比

一、自动化脚本实例对比

下面是一条用例,使用pytest框架,放在一个类中,两种实现方式:

1.1 setup_class初始化方式
1. 优点:
  • 代码结构清晰,setup_class 和 teardown_class 看起来像传统的类级别的 setup 和 teardown 方法。
2. 缺点:
  • 使用 autouse=True 的 fixture 作为类方法可能不是最佳实践,因为 fixture 通常不是类的一部分,而是独立的函数。

  • teardown_class 实际上并不是在每个测试方法之后调用,而是在整个类中的所有测试方法之后调用一次。这与 setup_class 的行为不一致,可能会导致误解

1.2 fixture初始化方式
1. 优点:
  • 使用类级别的 fixture (scope="class") 是处理类级别资源初始化和清理的标准 Pytest 方法。
  • fixture 的返回值直接传递给测试方法,避免了使用 self 变量来存储状态。
  • yield 语句允许在 fixture 中定义 teardown 逻辑,确保在每个测试方法之后执行。
相关推荐
瞎某某Blinder3 小时前
DFT学习记录[4] 电子和空穴的有效质量计算全流程
python·学习
Liue612312314 小时前
基于YOLO11-C3k2-Faster-CGLU的路面落叶检测与识别系统实现
python
~央千澈~5 小时前
抖音弹幕游戏开发之第8集:pyautogui基础 - 模拟键盘操作·优雅草云桧·卓伊凡
网络·python·websocket·网络协议
占疏5 小时前
列表分成指定的份数
python
Gaosiy5 小时前
脑电python分析库MNE安装
python·脑机接口·脑电·mne
向量引擎小橙6 小时前
视觉艺术的“奇点”:深度拆解 Gemini-3-Pro-Image-Preview 绘画模型,看这只“香蕉”如何重塑 AI 创作逻辑!
人工智能·python·gpt·深度学习·llama
yaoxin5211237 小时前
324. Java Stream API - 实现 Collector 接口:自定义你的流式收集器
java·windows·python
独行soc7 小时前
2026年渗透测试面试题总结-24(题目+回答)
网络·python·安全·web安全·渗透测试·安全狮
SmartBrain7 小时前
Python 特性(第一部分):知识点讲解(含示例)
开发语言·人工智能·python·算法
Lun3866buzha7 小时前
基于YOLO11-C3k2-FFCM:跳甲虫害叶片智能检测与识别系统
python