Class TestTransaction
- java.lang.Object
- org.springframework.test.context.transaction.TestTransaction
public class TestTransaction extends Object
TestTransaction
provides a collection of static utility methods for programmatic interaction with test-managed transactions within test methods, before methods, and after methods.Consult the javadocs for
TransactionalTestExecutionListener
for a detailed explanation of test-managed transactions.Support for
TestTransaction
is automatically available whenever theTransactionalTestExecutionListener
is enabled. Note that theTransactionalTestExecutionListener
is typically enabled by default, but it can also be manually enabled via the@TestExecutionListeners
annotation.- Since:
- 4.1
- Author:
- Sam Brannen
- See Also:
TransactionalTestExecutionListener
Constructor Summary
Constructors Constructor Description TestTransaction()
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
end()
Immediately force a commit or rollback of the current test-managed transaction, according to the rollback flag.static void
flagForCommit()
Flag the current test-managed transaction for commit.static void
flagForRollback()
Flag the current test-managed transaction for rollback.static boolean
isActive()
Determine whether a test-managed transaction is currently active.static boolean
isFlaggedForRollback()
Determine whether the current test-managed transaction has been flagged for rollback or flagged for commit.static void
start()
Start a new test-managed transaction.
Constructor Detail
TestTransaction
public TestTransaction()
Method Detail
isActive
public static boolean isActive()
Determine whether a test-managed transaction is currently active.
isFlaggedForRollback
public static boolean isFlaggedForRollback()
Determine whether the current test-managed transaction has been flagged for rollback or flagged for commit.- Returns:
true
if the current test-managed transaction is flagged to be rolled back;false
if the current test-managed transaction is flagged to be committed- Throws:
IllegalStateException
- if a transaction is not active for the current test- See Also:
isActive()
,flagForRollback()
,flagForCommit()
flagForRollback
public static void flagForRollback()
Flag the current test-managed transaction for rollback.Invoking this method will not end the current transaction. Rather, the value of this flag will be used to determine whether or not the current test-managed transaction should be rolled back or committed once it is ended.
- Throws:
IllegalStateException
- if no transaction is active for the current test- See Also:
isActive()
,isFlaggedForRollback()
,start()
,end()
flagForCommit
public static void flagForCommit()
Flag the current test-managed transaction for commit.Invoking this method will not end the current transaction. Rather, the value of this flag will be used to determine whether or not the current test-managed transaction should be rolled back or committed once it is ended.
- Throws:
IllegalStateException
- if no transaction is active for the current test- See Also:
isActive()
,isFlaggedForRollback()
,start()
,end()
start
public static void start()
Start a new test-managed transaction.Only call this method if
end()
has been called or if no transaction has been previously started.- Throws:
IllegalStateException
- if the transaction context could not be retrieved or if a transaction is already active for the current test- See Also:
isActive()
,end()
end
public static void end()
Immediately force a commit or rollback of the current test-managed transaction, according to the rollback flag.- Throws:
IllegalStateException
- if the transaction context could not be retrieved or if a transaction is not active for the current test- See Also:
isActive()
,start()