Annotation Interface Rollback
@Rollback
is a test annotation that is used to indicate whether
a test-managed transaction should be rolled back 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, @Rollback
defines
the default rollback semantics for all test methods within the test class
hierarchy or nested class hierarchy. When declared as a method-level annotation,
@Rollback
defines rollback semantics for the specific test method,
potentially overriding class-level default commit or rollback semantics.
As of Spring Framework 4.2, @Commit
can be used as direct
replacement for @Rollback(false)
.
Warning: Declaring @Commit
and @Rollback
on the same test method or on the same test class is unsupported and may
lead to unpredictable results.
This annotation may be used as a meta-annotation to create
custom composed annotations. Consult the source code for
@Commit
for a concrete example.
As of Spring Framework 5.3, this annotation will be inherited from an
enclosing test class by default. See
@NestedTestConfiguration
for details.
- Since:
- 2.5
- Author:
- Sam Brannen
- See Also:
-
Optional Element Summary
Modifier and TypeOptional ElementDescriptionboolean
Whether the test-managed transaction should be rolled back after the test method has completed.
-
Element Details
-
value
boolean valueWhether the test-managed transaction should be rolled back after the test method has completed.If
true
, the transaction will be rolled back; otherwise, the transaction will be committed.Defaults to
true
.- Default:
- true
-