Class BMNGAbstractRunner

  • All Implemented Interfaces:
    org.testng.IHookable, org.testng.ITestNGListener
    Direct Known Subclasses:
    BMNGListener, BMNGRunner

    public abstract class BMNGAbstractRunner
    extends java.lang.Object
    implements org.testng.IHookable
    An abstract class which provides the ability to load Byteman rules into TestNG style tests. The two subclasses of this class support the two alternative models for mixing Byteman capability into TestNG test classes.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void bmngAfterClass​(java.lang.Class<?> testKlazz)
      provides behaviour to unload rules specified via BMScript or BMRule annotations attached to the supplied test class.
      void bmngAfterTest​(java.lang.reflect.Method method)
      provides behaviour to unload rules specified via annotations associated with a specific method of a test class.
      void bmngBeforeClass​(java.lang.Class<?> testKlazz)
      provides behaviour to load rules specified via BMScript or BMRule annotations attached to the supplied test class.
      void bmngBeforeTest​(java.lang.reflect.Method method)
      provides behaviour to load rules specified via annotations associated with a specific method of a test class.
      void run​(org.testng.IHookCallBack callBack, org.testng.ITestResult testResult)
      implement standard run behaviour by devolving control back to the original runner using the hook callback
      void switchClass​(java.lang.Class newClazz)  
      • Methods inherited from class java.lang.Object

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

      • classSingleScriptAnnotation

        BMScript classSingleScriptAnnotation
      • classMultiScriptAnnotation

        BMScripts classMultiScriptAnnotation
      • classMultiRuleAnnotation

        BMRules classMultiRuleAnnotation
      • classSingleRuleAnnotation

        BMRule classSingleRuleAnnotation
      • currentClazz

        static java.lang.Class currentClazz
    • Constructor Detail

      • BMNGAbstractRunner

        public BMNGAbstractRunner()
    • Method Detail

      • run

        public void run​(org.testng.IHookCallBack callBack,
                        org.testng.ITestResult testResult)
        implement standard run behaviour by devolving control back to the original runner using the hook callback
        Specified by:
        run in interface org.testng.IHookable
        Parameters:
        callBack - not used
        testResult - used to post results
      • bmngBeforeClass

        public void bmngBeforeClass​(java.lang.Class<?> testKlazz)
                             throws java.lang.Exception
        provides behaviour to load rules specified via BMScript or BMRule annotations attached to the supplied test class. the class is cached and used to resolve subsequent requests to load and unload method level rules and to unload the class level rules.
        Parameters:
        testKlazz - the class whose tests are being run
        Throws:
        java.lang.Exception - if the test cannot be run
      • bmngAfterClass

        public void bmngAfterClass​(java.lang.Class<?> testKlazz)
                            throws java.lang.Exception
        provides behaviour to unload rules specified via BMScript or BMRule annotations attached to the supplied test class.
        Parameters:
        testKlazz - the class whose tests are being run
        Throws:
        java.lang.Exception - if cleanup fails
      • bmngBeforeTest

        public void bmngBeforeTest​(java.lang.reflect.Method method)
                            throws java.lang.Exception
        provides behaviour to load rules specified via annotations associated with a specific method of a test class.
        Parameters:
        method - the test method about to be run
        Throws:
        java.lang.Exception - if the test cannot be run
      • bmngAfterTest

        public void bmngAfterTest​(java.lang.reflect.Method method)
                           throws java.lang.Exception
        provides behaviour to unload rules specified via annotations associated with a specific method of a test class.
        Parameters:
        method - the test method about to be run
        Throws:
        java.lang.Exception - if the test cannot be run
      • switchClass

        public void switchClass​(java.lang.Class newClazz)