pytest fixture 用于teardown工作

fixture通过scope参数控制setup级别,setup作为用例之前前的操作,用例执行完之后那肯定也有teardown操作。这里用到fixture的teardown操作并不是独立的函数,用yield关键字呼唤teardown操作。

举个例子:

输出:

说明:yield

yield在fixture中起到了唤起teardown的作用,同时也可以和return一样返回值。

但yield和return的区别是:
return执行完成,该函数终止;
yield在返回结束后,后续的代码仍可执行。

yield 遇到异常

1、如果其中一个用例出现异常,不影响 yield 后面的 teardown 执行,运行结果互不影响,并且全部用例执行完之后,yield 呼唤 teardown操作。

输出

2、如果在setup就异常了,那么是不会去执行yield后面的teardown内容了

输出:

相关推荐
freejackman1 天前
【工程化】从“单兵作战”到“多引擎架构”:基于门面模式的重构实战
大数据·数据库·hive·sql·测试工具·设计模式·架构
坐吃山猪2 天前
Python22-PostMan调试MCP
测试工具·postman·mcp
测试界的小码农2 天前
【 AI Agent 软件测试实战(05):任务规划与状态管理,让 Agent 学会拆解复杂测试任务】
人工智能·测试工具
五网3 天前
软件测试用例模板怎么写:从用例设计到执行记录的全套指南
软件测试·论文阅读·全文检索·测试用例·论文笔记·用例设计·用例模板
和粒科技4 天前
热重分析仪TG 309 Libra Classic
测试工具
猴哥聊项目管理6 天前
自动化测试管理工具实战:从手工测试到自动化提效的转型路径
自动化测试·测试用例管理·测试管理工具·自动化测试管理工具·手工测试转型
测试界的小码农6 天前
【让 AI 生成的测试用例变成 pytest API 自动化脚本】
人工智能·测试用例·pytest
雪碧聊技术7 天前
软件测试—如何区分静态测试、动态测试?如何区分白盒测试、黑盒测试?一文详解(保姆教程|附软考真题)
软件测试·静态、动态测试·白盒、黑盒测试
芥子沫8 天前
从零开始用 Docker 部署 Hoppscotch:自建 API 调试平台的完整教程
docker·接口测试·api开发·api管理