我在测试中使用Spring事务(@Transactional)。基本上,我有一个DAO层,其中每个方法在该方法上都有一个@Transactional。在测试类中,如果未指定@Transactional,则可以在数据库中看到数据(因此数据已保存),否则在类的@Transactional处添加数据不会持久化数据。但是,一旦测试结束,数据就会保留下来。

您知道为什么会这样做吗?

最佳答案

当您添加@Transactional批注时,Spring将启动围绕您的测试方法和@Before@After回调的新事务,并且当测试完成时,该事务将自动回滚。

https://docs.spring.io/spring/docs/current/spring-framework-reference/testing.html#testcontext-tx

10-08 13:06
查看更多