springboot 关闭单元测试事务自动回滚
时间: 2023-10-14 19:28:04 浏览: 102
springboot手动事务回滚的实现代码
在 Spring Boot 中,单元测试默认会启用事务管理,即在每个测试方法执行完成后,会自动回滚数据库的所有操作,以确保测试数据的独立性。如果你需要关闭测试事务的自动回滚,可以在测试类中加上 `@Transactional(propagation = Propagation.NOT_SUPPORTED)` 注解,示例如下:
```java
@RunWith(SpringRunner.class)
@SpringBootTest
@Transactional(propagation = Propagation.NOT_SUPPORTED)
public class MyTest {
@Autowired
private MyService myService;
@Test
public void test() {
// do something
}
}
```
在上述代码中,将 `@Transactional` 注解的 `propagation` 属性设置为 `Propagation.NOT_SUPPORTED`,这会让测试方法在执行时不受事务管理器的控制,从而关闭自动回滚功能。
阅读全文