Class BMNGAbstractRunner

java.lang.Object
org.jboss.byteman.contrib.bmunit.BMNGAbstractRunner
All Implemented Interfaces:
org.testng.IHookable, org.testng.ITestNGListener
Direct Known Subclasses:
BMNGListener, BMNGRunner

public abstract class BMNGAbstractRunner extends 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.
  • Field Details

    • classConfigAnnotation

      BMUnitConfig classConfigAnnotation
    • classSingleScriptAnnotation

      BMScript classSingleScriptAnnotation
    • classMultiScriptAnnotation

      BMScripts classMultiScriptAnnotation
    • classMultiRuleAnnotation

      BMRules classMultiRuleAnnotation
    • classSingleRuleAnnotation

      BMRule classSingleRuleAnnotation
    • currentClazz

      static Class currentClazz
  • Constructor Details

    • BMNGAbstractRunner

      public BMNGAbstractRunner()
  • Method Details

    • 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(Class<?> testKlazz) throws 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:
      Exception - if the test cannot be run
    • bmngAfterClass

      public void bmngAfterClass(Class<?> testKlazz) throws 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:
      Exception - if cleanup fails
    • bmngBeforeTest

      public void bmngBeforeTest(Method method) throws 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:
      Exception - if the test cannot be run
    • bmngAfterTest

      public void bmngAfterTest(Method method) throws 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:
      Exception - if the test cannot be run
    • switchClass

      public void switchClass(Class newClazz)