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 逻辑,确保在每个测试方法之后执行。
相关推荐
傲笑风11 小时前
【openvino】tinybert基于openvino服务化部署(四)
人工智能·python·自然语言处理·nlp·bert·openvino
维基框架11 小时前
WIKI 知识库 v1.1.1 正式发布
人工智能·python
谢白羽15 小时前
SGLang的AWQ量化笔记
笔记·python·sglang
迷迭香yy15 小时前
基金档案数据工程实战从收入分析到持仓穿透的Python解析 IG50免费开源股票数据API接口
开发语言·python
清水白石00816 小时前
Python 类型设计深度解析:TypedDict 能否替代 dataclass?从 JSON 数据边界到 API 设计的最佳实践
java·python·json
️学习的小王16 小时前
Git项目提交忽略文件怎么做?以Python项目为例,详解.gitignore
git·python·elasticsearch
前端 贾公子16 小时前
第09章:上下文与记忆 (6)
开发语言·前端·python
evans在进步16 小时前
Java 常用设计模式入门:建造者、工厂、单例、外观与代理
java·python·设计模式
jayson.h17 小时前
PDF 合并+添加页码 相关库、类、函数
开发语言·前端·python
典典分享指南17 小时前
用飞书多维表格搭建内容管理看板
java·python·r语言·composer·symfony