python - 当数据库夹具拆解在测试中失败时该怎么办?
问题描述
我正在使用 Python 中的 DB API2 方法和 Pytest 测试数据库访问器方法。自动化测试对我来说是新的,我似乎无法弄清楚在使用夹具测试数据库的情况下应该做什么。我想检查获取表中的字段是否成功。为了能够获得相同的结果,我打算在每次运行一些测试时添加一个行条目,并在依赖它的每个测试之后删除该行。我听说过的术语是“setUp”和“tearDown”,尽管我也读过 usingyield
是较新的语法。
在编写代码之前我想弄清楚的概念性问题是:
当夹具的“拆卸”部分发生故障时会发生什么?如何在不添加行条目的情况下将数据库返回到相同的状态?有没有办法从中恢复?我还需要数据库中的其余数据吗?
我阅读了这篇文章[with unittest
],它解释了在设置和拆除方法失败时运行的内容,但它未能为我的问题提供答案。
解决方案
一种常见的做法是在其自己的数据库事务中运行每个测试,以便无论发生什么更改都会回滚,并且数据库会返回到干净状态。
推荐阅读
- database - 观察者模式 - 如何处理观察者和观察者对象的持久性
- python - 如何在 Jupyter Notebook 的单个单元格中的多个 print() 命令的结果之间添加行空间?
- reactjs - 自定义上下文挂钩 TypeScript
- delphi - 对象检查器更新 (Delphi 7)
- java - 从 Adobe Experience Manager 资产中获取 ICC 配置文件信息
- python - 数据框中的嵌套 Json - 整个列被替换
- fifo - 如何在excel中提取SQL中的订购FIFO成本
- python - 如何使用更少的代码更改 pandas 列中的值?
- sapui5 - SAPUI5 Web IDE 可以使用 npm install 吗?
- node.js - NextJS 使用 JWT 进行身份验证