アノテーションインターフェース Rollback
@TargetSE({TYPESE,METHODSE})
@RetentionSE(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
を参照してください。
- 導入:
- 2.5
- 作成者:
- Sam Brannen
- 関連事項:
オプション要素のサマリー
オプション要素
要素の詳細
value
boolean valueテストメソッドが完了した後で、テスト管理のトランザクションをロールバックするかどうか。true
の場合、トランザクションはロールバックされます。それ以外の場合、トランザクションはコミットされます。デフォルトは
true
です。- デフォルト:
- true