@TargetSE(valueSE={TYPESE,METHODSE}) @RetentionSE(valueSE=RUNTIMESE) @DocumentedSE @InheritedSE public @interface Rollback
@Rollback
は、テストメソッドが完了した後にテスト管理のトランザクションをロールバックする必要があるかどうかを示すために使用されるテストアノテーションです。 テスト管理トランザクションの説明については、TransactionalTestExecutionListener
のクラスレベルの Javadoc を参照してください。
@Rollback
は、クラスレベルのアノテーションとして宣言されると、テストクラス階層内のすべてのテストメソッドのデフォルトのロールバックセマンティクスを定義します。@Rollback
は、メソッドレベルのアノテーションとして宣言されると、特定のテストメソッドのロールバックセマンティクスを定義し、クラスレベルのデフォルトのコミットまたはロールバックセマンティクスをオーバーライドする可能性があります。
Spring Framework 4.2 以降、@Commit
は @Rollback(false)
の直接の代替として使用できます。
警告 : 同じテストメソッドまたは同じテストクラスで @Commit
と @Rollback
を宣言することはサポートされておらず、予期しない結果になる可能性があります。
このアノテーションは、カスタム合成アノテーションを作成するためのメタアノテーションとして使用できます。具体的な例については、@Commit
のソースコードを参照してください。
Spring Framework 5.3 以降、このアノテーションはデフォルトでそれを囲むテストクラスから継承されます。詳細については、@NestedTestConfiguration
を参照してください。
Commit
, TransactionalTestExecutionListener
修飾子と型 | オプションの要素と説明 |
---|---|
boolean | value テストメソッドが完了した後で、テスト管理のトランザクションをロールバックするかどうか。 |