【发布时间】:2019-02-07 17:32:00
【问题描述】:
我正在使用 Python 中的 DB API2 方法和 Pytest 测试数据库访问器方法。自动化测试对我来说是新的,我似乎无法弄清楚在使用夹具测试数据库的情况下应该做什么。我想检查获取表中的字段是否成功。为了能够获得相同的结果,我打算在每次运行一些测试时添加一个行条目,并在依赖它的每个测试之后删除该行。我听到的术语是“setUp”和“tearDown”,尽管我也读过使用yield 是较新的语法。
在编写代码之前我想弄清楚的概念性问题是:
当夹具的 'tearDown' 部分失败时会发生什么?如何在不添加行条目的情况下将数据库返回到相同的状态?有没有办法从中恢复?我还需要数据库中的其余数据吗?
我阅读了this article [与unittest],它解释了在设置和拆除方法失败时运行的内容,但它未能为我的问题提供答案。
【问题讨论】:
标签: python database testing integration-testing pytest