@Rollback

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

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

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

  • Java

  • Kotlin

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