我有我的注解测试类如下:春@Transactional:报告回滚信息,但未被实际执行
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations={"file:WebContent/WEB-INF/applicationContext.xml", "file:WebContent/WEB-INF/context-aspects.xml"})
@Transactional
public class MyTest {
}
但是,在执行测试时,测试数据库中顿时充满了值,尽管@Transactional启用我可以在日志中看到以下内容:
INFO: Began transaction (4): transaction manager [[email protected]69aa3f3]; rollback [true]
07.04.2011 23:57:33 org.springframework.test.context.transaction.TransactionalTestExecutionListener endTransaction
INFO: Rolled back transaction after test execution for test context ...
任何想法为什么测试用例之后的实际回滚没有执行?
更新:如果我使用HSQLDB,我没有这些问题 - 这是一个MySQL的问题?
你在使用什么数据库引擎? – 2011-04-07 22:03:39
如果是MySQL,您使用哪种类型:MyISAM或InnoDB? – Ralph 2011-04-08 06:44:01
我正在使用MySQL InnoDB。在另一个项目中,它与相同的数据库一起工作,但我无法弄清楚配置中的差异。 – Erik 2011-04-08 11:15:36