Package org.testng

Interface IHookable

  • All Superinterfaces:
    ITestNGListener

    public interface IHookable
    extends ITestNGListener
    If a test class implements this interface, its run() method will be invoked instead of each @Test method found. The invocation of the test method will then be performed upon invocation of the callBack() method of the IHookCallBack parameter.

    This is useful to test classes that require JAAS authentication, which can be implemented as follows:

     public void run(final IHookCallBack icb, ITestResult testResult) {
       // Preferably initialized in a @Configuration method
       mySubject = authenticateWithJAAs();
    
       Subject.doAs(mySubject, new PrivilegedExceptionAction() {
         public Object run() {
           icb.callback(testResult);
         }
       };
     }