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