【发布时间】:2011-11-01 01:12:16
【问题描述】:
我在我的 JUnit 测试中使用@Transactional(主要优点是在一个测试中回滚更改)但是我有一个小问题,这会影响我的服务事务。所以例如这是
我的服务:
@Service
@Transactional(propagation = Propagation.REQUIRED)
public class ServiceImpl
我的单元测试:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations = { "/test-context.xml" })
@Transactional
public class TestService
@Test
public void testNumberTransaction() {
Entity a = new Entity();
Entity b = new Entity();
service.add(a);
service.add(b);
}
我很天真地期望 service.add() 有两个单独的事务,但除非我在测试方法上使用 @nontransactional 它在一个事务中运行(但它不会在测试后回滚)。
这是预期的吗?我可以通过一些配置来改变它吗?
谢谢
【问题讨论】:
标签: spring testing transactions