SpringBoot实现单元测试时回滚事务

snowphy 2020-05-09

pringBoot跑个单元测试只需要在测试类加两个注解就行了。

@RunWith(SpringRunner.class)
@SpringBootTest

然而这样的单元测试默认是提交事务的,一般的场景下都是要对事务进行回滚的。要支持回滚,只需要增加一个@Transactional注解即可。

@RunWith(SpringRunner.class)
@SpringBootTest
@Transactional

单独的@Transactional是回滚事务,在添加@Transactional的情况下如果要提交事务,只需要增加@Rollback(false):

@RunWith(SpringRunner.class)
@SpringBootTest
@Transactional
@Rollback(false)

由于@Rollback可以用在方法上,所以一个测试类中,我们可以实现部分测试方法用@Rollback回滚事务,部分测试方法用@Rollback(false)来提交事务。

相关推荐