2017-04-02 137 views
1

我想改进我的数据库访问代码测试。DAO测试的优雅方式

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

回答

0

这取决于你的数据库是如何设置的。这里有几个其他的选项,除了你已经有的:

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

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