【问题标题】:Java test driven developmentJava测试驱动开发
【发布时间】:2011-11-21 23:05:06
【问题描述】:

我开始新项目,我想使用 TDD 方法。我使用tomcat 7和mysql 5。我想知道如何测试与DB的连接?提前致谢

【问题讨论】:

  • 您计划在新项目中使用哪种语言?
  • Java,我假设,基于它在标题中的说法。
  • 一个理想的选择是使用模拟对象来模拟数据库操作。几乎所有数据库交互都通过标准接口发生,您可以使用模拟框架(如 EasyMock、Mockito)为具有所需行为的接口创建模拟。
  • 这个页面应该让您了解 Java 的开源测试工具。link

标签: java unit-testing testing jakarta-ee tdd


【解决方案1】:

您可能不必测试与数据库的连接。即使您严格遵守 TDD,您也需要编写一个测试然后才编写连接,但这确实有点矫枉过正。 当然,您应该模拟 Cursor 和数据库提供的所有对象,并在您的测试中使用它们;你不应该测试的是连接本身的实现,因为你可以假设它已经被数据库的开发人员测试过。此外,实现 100% 的覆盖率虽然很理想,但可能不是最有效地利用您的时间。可能最后几点可以通过在代码中测试不同的路径来使用,即使从技术上讲它们已经在您的覆盖范围内。

【讨论】:

    【解决方案2】:

    出色的倡议!您应该开始查看模拟对象和数据库模拟。 This SO question 可能会帮助您入门。

    编辑:如果您正在寻找一个模拟框架,我建议EasyMock 这是一个我已经使用了 4 年多的优秀模拟框架。

    【讨论】:

      【解决方案3】:

      我发现DBUnit 对于测试我所做的数据库项目特别有用。该框架允许您设置一个内存数据库,该数据库可以在每次测试之前进行配置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-09
        • 2012-10-10
        • 1970-01-01
        • 2010-11-21
        • 2013-08-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多