我有我的註解測試類如下:春@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