【问题标题】:What to do when database fixture teardown fails in testing?当数据库夹具拆解在测试中失败时该怎么办?
【发布时间】:2019-02-07 17:32:00
【问题描述】:

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

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

当夹具的 'tearDown' 部分失败时会发生什么?如何在不添加行条目的情况下将数据库返回到相同的状态?有没有办法从中恢复?我还需要数据库中的其余数据吗?

我阅读了this article [与unittest],它解释了在设置和拆除方法失败时运行的内容,但它未能为我的问题提供答案。

【问题讨论】:

    标签: python database testing integration-testing pytest


    【解决方案1】:

    一种常见的做法是在其自己的数据库事务中运行每个测试,这样无论发生什么更改都会回滚,并且数据库会返回到干净状态。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-01-09
      • 1970-01-01
      • 1970-01-01
      • 2012-06-23
      • 2010-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多