【发布时间】:2010-11-01 13:42:51
【问题描述】:
我想使用 SpringContextTests 测试我的 Dao 类。
在我的方法类中,我扩展了AbstractTransactionalJUnit4SpringContextTests,以便我的测试类与 JUnit4 集成。我还设置了配置并在@Before 中进行了初始化和数据库清理,在@After 中进行了拆卸。我的测试课效果很好。
我的问题是,当我运行我的测试类并且数据库充满了数据时,原始数据没有回滚并且我的数据库被清除了。在@Before 方法中,我清空数据库并填充数据,以为可以回滚,但事实并非如此。
任何人都可以找到一个可以在数据库中工作和回滚信息的示例。
插件:
我的测试方法中的每个数据库操作都会回滚。但是@Before方法中super.deleteFromTables("person")的执行并没有从数据库中回滚之前的所有数据。
Spring 会回滚所有 CRUD 操作,但在事务不回滚之前清理数据库。
【问题讨论】:
-
如果你把'org.springframework.transaction'放在调试中,日志输出有什么有趣的地方
标签: java unit-testing spring testing