Junit-对涉及数据库操作的服务进行单元测试
之前一直不知道怎么通过单元测试,对涉及数据库操作的服务进行验证,现在了解了,做个记录。
****************************************************************************************************************************
对涉及数据库操作的服务进行单元测试时,需要在单元测试类里配置加载对应的配置文件,好的方法应该是写一个父测试类,在此父测试类上配置加载对应的配置文件,具体的测试类可以继承该父测试类,这样避免每次测试新的服务都需要配置。
@RunWith(SpringJUnit4ClassRunner.class) //使用junit4进行测试 @ContextConfiguration({"/config/spring_common.xml"}) //加载配置文件 //------------如果加入以下代码,所有继承该类的测试类都会遵循该配置,也可以不加.在测试类的方法上///控制事务,参见下一个实例 //@Transactional//这个非常关键,如果不加入这个注解配置,事务控制就会完全失效! //这里的事务关联到配置文件中的事务控制器(transactionManager = "transactionManager"),同时//指定自动回滚(defaultRollback = true)。这样做操作的数据才不会污染数据库! //@TransactionConfiguration(transactionManager = "transactionManager", defaultRollback = true) //------------ public class BaseJunit4Test {
}
具体的测试类 extends BaseJunit4Test,即可对涉及数据库操作的服务进行单元测试了。红色部分代表必须的注解。
