[关闭]
@big-bear 2016-01-28T00:44:13.000000Z 字数 1572 阅读 1622

spring JUnit Transaction

spring Java


1.spring JUnit Transaction的应用场景

在进行单元测试的时候,有一些方法需要对数据库进行操作.但是这个操作只是用来进行测试,并不想真正的对数据库中的真实数据进行修改,这就需要我们再测试完成以后将数据rollback到方法执行前的状态,这时候单元测试就需要借助spring transaction的事务管理来完成.

2.如何使用spring JUnit Transaction

如果要在单元测试的时候使用事务管理,那么单元测试的类首先要继承AbstractTransactionalJUnit4SpringContextTests(以Junit4框架为例子) 这个类,
applicationContext.xml要有以下的事务配置:

  1. <bean id="transactionManager"
  2. class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
  3. <property name="dataSource" ref="dataSource" />
  4. </bean>

另外,在测试类上方应该加上以下几个注解:

  1. @RunWith(SpringJUnit4ClassRunner.class)
  2. @ContextConfiguration(locations = "classpath:applicationContext.xml")
  3. @TransactionConfiguration(transactionManager="transactionManager",defaultRollback=true)

接下来就是正常的spring JUnite单元测试了(@文广的内容)
以及@Test单元测试方法(@曼莉哥的内容).

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注