spring-framework / org.springframework.test.annotation / Rollback

Rollback

@Target([AnnotationTarget.CLASS, AnnotationTarget.FILE, AnnotationTarget.FUNCTION, AnnotationTarget.PROPERTY_GETTER, AnnotationTarget.PROPERTY_SETTER]) @Inherited class 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 org.springframework.test.context.transaction.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. 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.

Author
Sam Brannen

Since
2.5

See Also
Commitorg.springframework.test.context.transaction.TransactionalTestExecutionListener

Constructors

<init>

Rollback(value: Boolean)

@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 org.springframework.test.context.transaction.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. 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.

Properties

value

val value: Boolean

Whether 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.