类 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 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.1
    作者:
    Sam Brannen
    另请参阅:
    TransactionalTestExecutionListener
    • 方法详细资料

      • isActive

        public static boolean isActive()
        Determine whether a test-managed transaction is currently active.
        返回:
        true if a test-managed transaction is currently active
        另请参阅:
        start(), end()
      • 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
        另请参阅:
        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.

        抛出:
        IllegalStateException - if no transaction is active for the current test
        另请参阅:
        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.

        抛出:
        IllegalStateException - if the transaction context could not be retrieved or if a transaction is already active for the current test
        另请参阅:
        isActive(), end()
      • 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
        另请参阅:
        isActive(), start()