我正在开发Spring应用程序(Spring 3.0)和分层架构,即Controller -> Service -> DAO layers
。
我想使用 Junit 为服务和DAO层编写单元测试用例 我检查了Spring官方网站,并尝试了许多其他网站,但无法找到一种简单易行的方法。
有人能为我提供一些有用的资源吗?
编辑:
看起来Mockito是不错的选择。在Spring中使用它的任何好的链接。
谢谢Alex建议。
答案 0 :(得分:26)
在资源方面,Spring的测试文档非常好。这可以找到here。
当您测试服务层时,您将需要使用模拟库(如Mockito)来模拟您的DAO,从而模拟您的域层。这可以确保它们是真正的单元测试。
然后,要对数据库进行集成测试,您可以使用该参考文档中描述的Spring事务测试实用程序。
答案 1 :(得分:4)
对资源知之甚少,但如果你的dao + spring设置很好,那就不难了。您需要以下内容:
JUNIT依赖关系。与maven,类似的东西:
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.8.2</version>
</dependency>
测试类,放在src / test / java:
中@TransactionConfiguration(defaultRollback = true)
@ContextConfiguration({ "classpath:test-spring-context.xml" })
@Transactional
@RunWith(SpringJUnit4ClassRunner.class)
public class SomeTests {
// ...
}
弹簧设置的上下文文件引用放置在src / test / resources中的DAO数据源。 test-spring-context.xml中的某个地方:
<import resource="datasource-test.xml" />
现在,例如在eclipse中,您可以将项目作为JUNIT测试运行。
需要更多详情?这个解决方案适用吗?