@Target(value={TYPE,METHOD}) @Retention(value=RUNTIME) @Documented @Inherited @Rollback(value=false) public @interface Commit
@Commit
is a test annotation that is used to indicate that a
test-managed transaction should be committed after
the test method has completed.
Consult the class-level Javadoc for
TransactionalTestExecutionListener
for an explanation of test-managed transactions.
When declared as a class-level annotation, @Commit
defines
the default commit semantics for all test methods within the test class
hierarchy or nested class hierarchy. When declared as a method-level annotation,
@Commit
defines commit semantics for the specific test method, potentially
overriding class-level default commit or rollback semantics.
Warning: @Commit
can be used as direct
replacement for @Rollback(false)
; however, it should
not be declared alongside @Rollback
. Declaring
@Commit
and @Rollback
on the same test method or on the
same test class is unsupported and may lead to unpredictable results.
As of Spring Framework 5.3, this annotation will be inherited from an
enclosing test class by default. See
@NestedTestConfiguration
for details.
Rollback
,
TransactionalTestExecutionListener