Class TestRetrySupport

java.lang.Object
org.apache.pulsar.tests.TestRetrySupport

public abstract class TestRetrySupport extends Object
Adds support for resetting the internal state of the test by calling "cleanup" and "setup" methods before running a test method after a previous test method has failed. This is useful for making test retries to work on classes which use BeforeClass and AfterClass methods to setup a test environment that is shared across all test methods in the test class. The setup method implementation must call incrementSetupNumber method and the cleanup method must call markCurrentSetupNumberCleaned method. This is required by the state tracking logic.
  • Constructor Details

    • TestRetrySupport

      public TestRetrySupport()
  • Method Details

    • stateCheck

      @BeforeMethod(alwaysRun=true) public final void stateCheck(Method method) throws Exception
      Throws:
      Exception
    • failureCheck

      @AfterMethod(alwaysRun=true) public final void failureCheck(org.testng.ITestResult testResult, Method method)
    • incrementSetupNumber

      protected final void incrementSetupNumber()
      This method should be called in the setup method of the concrete class. This increases an internal counter and resets the failure state which are used to determine whether cleanup is needed before a test method is called.
    • markCurrentSetupNumberCleaned

      protected final void markCurrentSetupNumberCleaned()
      This method should be called in the cleanup method of the concrete class.
    • setup

      protected abstract void setup() throws Exception
      Initializes the test environment state. The implementation of this method must call incrementSetupNumber method.
      Throws:
      Exception
    • cleanup

      protected abstract void cleanup() throws Exception
      Cleans up the state of the environment. The implementation of this method must call the markCurrentSetupNumberCleaned method.
      Throws:
      Exception