@Rollback

@Rollback は、テストメソッドの完了後にトランザクションテストメソッドのトランザクションをロールバックする必要があるかどうかを示します。true の場合、トランザクションはロールバックされます。それ以外の場合、トランザクションはコミットされます(@Commit も参照)。@Rollback が明示的に宣言されていない場合でも、Spring TestContext フレームワークの統合テストのロールバックはデフォルトで true になります。

@Rollback は、クラスレベルのアノテーションとして宣言されると、テストクラス階層内のすべてのテストメソッドのデフォルトロールバックセマンティクスを定義します。メソッドレベルのアノテーションとして宣言された場合、@Rollback は特定のテストメソッドのロールバックセマンティクスを定義し、潜在的にクラスレベルの @Rollback または @Commit セマンティクスをオーバーライドします。

次の例では、テストメソッドの結果はロールバックされません(つまり、結果はデータベースにコミットされます)。

  • Java

  • Kotlin

@Rollback(false) (1)
@Test
void testProcessWithoutRollback() {
	// ...
}
1 結果をロールバックしないでください。
@Rollback(false) (1)
@Test
fun testProcessWithoutRollback() {
	// ...
}
1 結果をロールバックしないでください。