@Rollback

@Rollback 指示事务性测试方法的交易是否应该在测试方法完成后回滚。如果为 true,则回滚交易。否则,交易将被提交(另请参见 @Commit)。Spring TestContext 框架中集成测试的回滚默认情况下为 true,即使没有显式声明 @Rollback

当声明为类级注解时,@Rollback 为测试类层次结构中所有测试方法定义默认回滚语义。当声明为方法级注解时,@Rollback 为特定测试方法定义回滚语义,可能会覆盖类级 @Rollback@Commit 语义。

以下示例会导致测试方法的结果不被回滚(即结果被提交到数据库)

  • Java

  • Kotlin

@Rollback(false) (1)
@Test
void testProcessWithoutRollback() {
	// ...
}
1 不要回滚结果。
@Rollback(false) (1)
@Test
fun testProcessWithoutRollback() {
	// ...
}
1 不要回滚结果。