弹簧单元测试 - 数据库单元测试

时间:2014-04-23 18:12:23

标签: java spring testing junit

我指的是如何在Spring应用程序中为“插入”数据库操作创建数据库单元测试的简单示例:

Junit test case for database insert method with DAO and web service

我有一个类似的add()方法,我想进行单元测试。但在该示例中,解决方案是在之后执行findById(..)提取以验证插入。

我的问题是,我的应用程序不需要这个findById操作,所以我是否还需要将它添加到我的DAO对象中,仅用于单元测试?我宁愿让我的DAO只针对应用程序所需的特定操作。另外,如果我添加这个findById(..),这个新操作本身将需要一个单元测试吗?

此问题的标准解决方案是什么?单元测试是否需要自己的DAO架构?

1 个答案:

答案 0 :(得分:1)

有两种方法可以解决这个问题。自测试数据库以来,测试DAO方法更多地是关于集成测试。如果您测试服务层方法,那么这将涉及对DAO依赖项进行存根/模拟,并仅测试服务方法逻辑。

这样做的理想方法是测试服务和DAO层。您提供的链接参考有一些非常糟糕的单元测试示例,那里有更好的材料。