类 TestTransaction

java.lang.Object
cn.taketoday.test.context.transaction.TestTransaction

public final 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 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
另请参阅:
  • 构造器详细资料

    • TestTransaction

      private TestTransaction()
  • 方法详细资料

    • isActive

      public static boolean isActive()
      Determine whether a test-managed transaction is currently active.
      返回:
      true if 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.
      返回:
      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
      抛出:
      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

      private static TransactionContext requireCurrentTransactionContext()
    • setFlaggedForRollback

      private static void setFlaggedForRollback(boolean flag)