DAO测试的优雅方式

时间:2017-04-02 08:09:38

标签: java unit-testing testing integration-testing dao

我想改进我的数据库访问代码测试。

我正在使用GAE数据存储区。为了测试Db类,我使用了Backdoor Servlet。只是想知道,是否有更高效和优雅的方式进行DAO测试? 您对DAO的单元与集成测试的看法?

1 个答案:

答案 0 :(得分:0)

这取决于数据库的设置方式。除了你已有的选择之外,还有以下几种选择:

  • 您可以直接针对您的DAO编写单元测试。您可以使用mockito模拟数据库调用。
  • 您可以编写记录与数据库集成的单元测试,然后在第二次运行测试时重放它。请参阅betamax库。
  • 您可以针对实际数据库运行单元测试。现在它不再是单元测试了,而是一种集成测试。在这种情况下,您需要考虑如何在数据库中获得一个干净的状态来开始。
  • 您可以对整个系统运行集成测试,并确保使用代码覆盖率工具触及大部分数据库代码。

我更喜欢对整个事情进行全面的集成测试,包括数据库和任何其他第三方集成。并对细节进行单元测试,但不一定涉及实际的数据库调用。但是 - 一如既往 - 您的设置可能会引导您走向其他方向。