@big-bear
2016-01-28T00:44:13.000000Z
字数 1572
阅读 1622
spring
Java
在进行单元测试的时候,有一些方法需要对数据库进行操作.但是这个操作只是用来进行测试,并不想真正的对数据库中的真实数据进行修改,这就需要我们再测试完成以后将数据rollback到方法执行前的状态,这时候单元测试就需要借助spring transaction的事务管理来完成.
如果要在单元测试的时候使用事务管理,那么单元测试的类首先要继承AbstractTransactionalJUnit4SpringContextTests(以Junit4框架为例子) 这个类,
applicationContext.xml要有以下的事务配置:
<bean id="transactionManager"
class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
<property name="dataSource" ref="dataSource" />
</bean>
另外,在测试类上方应该加上以下几个注解:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = "classpath:applicationContext.xml")
@TransactionConfiguration(transactionManager="transactionManager",defaultRollback=true)
接下来就是正常的spring JUnite单元测试了(@文广的内容)
以及@Test单元测试方法(@曼莉哥的内容).