测试时使用save()方法向数据库插入一条记录,结果发现通过单元测试了,但是并没有向数据库插入一条记录,一看日志,发现Spring-test对事务进行了回滚。
为了使测试数据不对数据库造成污染,在使用Spring-test进行的单元测试的时候,默认会对事务进行回滚,即@Rollback 默认是true,如果想要测试数据不回滚,可设置@Rollback(value = false) 。如果是使用MySQL数据库,在设置了自动回滚之后,如果发现事务依然没有回滚,那么可以查看一下数据库引擎是否是Innodb,因为其他的数据库引擎如MyISAM、Memory 都不支持事务。
Spring-test事务自动回滚
最新推荐文章于 2025-10-20 05:07:06 发布
本文探讨了使用Spring-test进行单元测试时,默认情况下事务会被回滚的现象,解释了如何禁用这一行为,并提到了MySQL数据库引擎对事务的支持情况。
1477

被折叠的 条评论
为什么被折叠?



