当数据库夹具拆卸测试失败时该怎么办?

时间:2019-02-07 17:32:00

标签: python database testing integration-testing pytest

我正在使用Pytest在Python中使用DB API2方法测试数据库访问器方法。自动化测试对我来说是新手,我似乎无法弄清楚在使用夹具测试数据库的情况下应该执行的操作。我想检查获取表中的字段是否成功。为了获得相同的结果,我打算在每次运行某些测试时添加一个行条目,并在每次依赖它的测试后删除该行。尽管我还读到使用yield是较新的语法,但我听到的术语是“ setUp”和“ tearDown”。

在编写代码之前我想弄清楚我的概念性问题是:

当灯具的“ tearDown”部分发生故障时会发生什么?如何在没有添加行条目的情况下使数据库返回相同状态?有办法从中恢复吗?我还需要数据库中的其余数据吗?

我读过this article [with unittest],它解释了设置和取消方法失败时运行的内容,但未能回答我的问题。

1 个答案:

答案 0 :(得分:0)

一种常见的做法是在自己的数据库事务中运行每个测试,以便无论发生什么情况都将回滚任何更改并使数据库返回到干净状态。