前言
如何将测试用例的插入的数据进行回滚。@Transactional和@Rollback注解的使用
测试数据回滚
如下代码是一个测试插入数据的小例子,每次都会向数据库插入一条记录
@SpringBootTest
public class BookServiceTest {
@Autowired
private IBookService bookService;
@Test
void testSave(){
Book book=new Book();
book.setName("测试");
book.setType("测试");
book.setDescription("测试 数据");
bookService.save(book);
}
}
- @Transactional
如何测试不向数据库插入一条记录?
使用@Transactional注解
执行用例,会显示插入的记录被回滚,数据不会看到这条记录,数据的id也会被占用。
再次杀入数据,记录里不会包含id为35的记录
设定是否回滚
- @Rollback
@Rollback(true) 注解,默认是true,执行回滚;也可以设置false为不回滚,此时执行事务会被提交。