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 逻辑,确保在每个测试方法之后执行。
相关推荐
电商数据girl21 分钟前
有哪些常用的自动化工具可以帮助处理电商API接口返回的异常数据?【知识分享】
大数据·分布式·爬虫·python·系统架构
CoooLuckly24 分钟前
numpy数据分析知识总结
python·numpy
超龄超能程序猿40 分钟前
(六)PS识别:源数据分析- 挖掘图像的 “元语言”技术实现
python·组合模式
amazinging1 小时前
北京-4年功能测试2年空窗-报培训班学测开-第四十四天
python·学习·appium
UrbanJazzerati2 小时前
Xlwings安装报错:Connection timed out & WinError 32?一招解决你的安装难题!
python
Tipriest_2 小时前
Python异常类型介绍
开发语言·python·异常
前端付豪2 小时前
21、用 Python + Pillow 实现「朋友圈海报图生成器」📸(图文合成 + 多模板 + 自动换行)
后端·python
猿榜2 小时前
魔改编译-永久解决selenium痕迹(二)
javascript·python
广东数字化转型2 小时前
java jar 启动应用程序
开发语言·python
费弗里3 小时前
Python全栈应用开发利器Dash 3.x新版本介绍(4)
python·dash