【问题标题】:how to make non transactional spring test如何进行非事务性春季测试
【发布时间】:2013-10-05 07:22:53
【问题描述】:
我有这个测试课
@TransactionConfiguration(defaultRollback = false)
public class CandidateServiceTest extends AbstractServiceTest {
@Test
public void add() {
}
...
}
@ContextConfiguration(locations = { "classpath:/test/BeanConfig.xml" })
public class AbstractServiceTest extends AbstractTransactionalJUnit4SpringContextTests{
...
}
所有方法CandidateServiceTest 都是事务性的。我如何更改 CandidateServiceTest 它的所有方法都是 NonTransactional ?
【问题讨论】:
标签:
java
spring
testing
transactions
【解决方案1】:
不要扩展AbstractTransactionalJUnit4SpringContextTests。只需像使用服务一样使用 @Transactional 注释:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "classpath:/test/BeanConfig.xml" })
public class AbstractServiceTest {
}
@TransactionConfiguration(defaultRollback = false)
public class CandidateServiceTest extends AbstractServiceTest {
@Test
public void add() {
// non-transactional test
}
@Test
@Transactional
public void transactionalAdd() {
// transactional test
}
}