如何测试数据库访问代码

时间:2012-10-28 08:20:03

标签: database testing

我有一个数据库层。我想测试db CRUD结果 我希望每个测试都是独立的,所以我只是在setUp()中创建表,并删除tearDown()中的所有表。那么有没有什么好方法可以独立测试数据库访问?我的意思是我不需要在每个测试中删除所有表格

2 个答案:

答案 0 :(得分:1)

您可以在数据库事务中执行数据库测试,该事务将在测试后回滚。

例如在java / spring中你可以使用 TestContext framework将为每个测试创建和回滚事务。

答案 1 :(得分:1)

有几种方法。

  1. 您可以使用“DELETE”语句删除每次测试后的所有数据。据我所知,删除很慢)所以它不太可取。

  2. 您可以在每次测试后截断表格,以便它们为空。

  3. (我最喜欢的一个)在每次测试之前打开一个事务,并在测试结束后回滚(甚至成功!)。这样,您将保留db中的状态,就像测试之前一样。

  4. 希望这有帮助