Class TestRetrySupport


  • public abstract class TestRetrySupport
    extends java.lang.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.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract void cleanup()
      Cleans up the state of the environment.
      void failureCheck​(org.testng.ITestResult testResult, java.lang.reflect.Method method)  
      protected void incrementSetupNumber()
      This method should be called in the setup method of the concrete class.
      protected void markCurrentSetupNumberCleaned()
      This method should be called in the cleanup method of the concrete class.
      protected abstract void setup()
      Initializes the test environment state.
      void stateCheck​(java.lang.reflect.Method method)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • TestRetrySupport

        public TestRetrySupport()
    • Method Detail

      • stateCheck

        @BeforeMethod(alwaysRun=true)
        public final void stateCheck​(java.lang.reflect.Method method)
                              throws java.lang.Exception
        Throws:
        java.lang.Exception
      • failureCheck

        @AfterMethod(alwaysRun=true)
        public final void failureCheck​(org.testng.ITestResult testResult,
                                       java.lang.reflect.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 java.lang.Exception
        Initializes the test environment state. The implementation of this method must call incrementSetupNumber method.
        Throws:
        java.lang.Exception
      • cleanup

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