类 TestTransaction
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
the TransactionalTestExecutionListener is enabled. Note that the
TransactionalTestExecutionListener is typically enabled by default,
but it can also be manually enabled via the
@TestExecutionListeners annotation.
- 从以下版本开始:
- 4.0
- 作者:
- Sam Brannen
- 另请参阅:
-
构造器概要
构造器 -
方法概要
修饰符和类型方法说明static voidend()Immediately force a commit or rollback of the current test-managed transaction, according to the rollback flag.static voidFlag the current test-managed transaction for commit.static voidFlag the current test-managed transaction for rollback.static booleanisActive()Determine whether a test-managed transaction is currently active.static booleanDetermine whether the current test-managed transaction has been flagged for rollback or flagged for commit.private static TransactionContextprivate static voidsetFlaggedForRollback(boolean flag) static voidstart()Start a new test-managed transaction.
-
构造器详细资料
-
TestTransaction
private TestTransaction()
-
-
方法详细资料
-
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.- 返回:
trueif the current test-managed transaction is flagged to be rolled back;falseif the current test-managed transaction is flagged to be committed- 抛出:
IllegalStateException- if a transaction is not active for the current test- 另请参阅:
-
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.
- 抛出:
IllegalStateException- if no transaction is active for the current test- 另请参阅:
-
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.
- 抛出:
IllegalStateException- if no transaction is active for the current test- 另请参阅:
-
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.- 抛出:
IllegalStateException- if the transaction context could not be retrieved or if a transaction is already active for the current test- 另请参阅:
-
end
public static void end()Immediately force a commit or rollback of the current test-managed transaction, according to the rollback flag.- 抛出:
IllegalStateException- if the transaction context could not be retrieved or if a transaction is not active for the current test- 另请参阅:
-
requireCurrentTransactionContext
-
setFlaggedForRollback
private static void setFlaggedForRollback(boolean flag)
-