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 逻辑,确保在每个测试方法之后执行。
相关推荐
Absurd5872 分钟前
Redis如何限制列表最大长度_利用LTRIM指令截断List保留最新记录
jvm·数据库·python
2401_882273722 分钟前
SQL函数面试题解析_函数性能与设计考点
jvm·数据库·python
knight_9___5 分钟前
RAG面试题5
人工智能·python·agent·rag
a9511416426 分钟前
mysql查询分析中如何快速识别全表扫描_通过EXPLAIN中的type列检查
jvm·数据库·python
Irene19919 分钟前
使用Python进行文件读写的API或方法及其注意事项
python·文件读写
weixin_4249993610 分钟前
mysql如何防止索引被错误使用_mysql查询计划强制约束
jvm·数据库·python
旦莫32 分钟前
测试工程师如何用AI生成测试用例?我的提示词模板分享
人工智能·python·测试开发·自动化·测试用例·ai测试
itzixiao37 分钟前
L1-047 装睡 (5分)[java][python]
java·开发语言·python
m0_6138562940 分钟前
Golang怎么实现测试跳过条件_Golang如何根据环境或条件跳过不适用的测试用例【操作】
jvm·数据库·python
unicrom_深圳市由你创科技1 小时前
上位机开发常用的语言 / 框架有哪些?
c++·python·c#