【问题标题】:Elegant way for DAO testingDAO 测试的优雅方式
【发布时间】:2017-08-27 05:24:06
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

    这在一定程度上取决于您的数据库是如何设置的。除了您已有的选项之外,还有其他几个选项:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-12
      • 2011-10-03
      • 2013-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多