Spring框架下基于事务的单元测试

来源:互联网 发布:超级基因优化液艾薇儿 编辑:程序博客网 时间:2024/05/02 10:48
越来越觉得Spring这个东西实在是太好了,恩。
    Spring除了对基本的基于IOC机制的单元测试的支持外,还提供了一个非常有用的类AbstractTransactionalDataSourceSpringContextTests。这个类提供了一个非常有用的功能:在测试方法结束后自动回滚事务。利用它,你就可以随意的对自己的业务代码进行测试,而不用担心由于数据库中写入的测试数据没有被及时清除而影响测试结果(例如,假如你设置了某个数据表中的某列为unique。那么,如果某个测试向数据库中写入了一条测试数据,那么如果测试后这个数据没有被清除,下次该测试运行时就会因为数据库中已经存在同样的数据而失败)。
    AbstractTransactionalDataSourceSpringContextTests类的用法很简单,因为它是AbstractDependencyInjectionSpringContextTests的子类,所以按照使用AbstractDependencyInjectionSpringContextTests的方法一样用就行了。
    不过还需要注意一点,我们要测试的Bean中的对应方法必须被配置为支持事务,否则在测试后,数据操作不会自动回滚。关于Spring中事务的配置可以参考相应的文档,这里不多说了,恩。
 
原创粉丝点击