Class MethodInvocationHelper


  • public class MethodInvocationHelper
    extends java.lang.Object
    Collections of helper methods to help deal with invocation of TestNG methods
    • Constructor Detail

      • MethodInvocationHelper

        public MethodInvocationHelper()
    • Method Detail

      • invokeMethodNoCheckedException

        protected static java.lang.Object invokeMethodNoCheckedException​(java.lang.reflect.Method thisMethod,
                                                                         java.lang.Object instance,
                                                                         java.util.List<java.lang.Object> parameters)
      • invokeMethodConsideringTimeout

        protected static void invokeMethodConsideringTimeout​(ITestNGMethod tm,
                                                             ConstructorOrMethod method,
                                                             java.lang.Object targetInstance,
                                                             java.lang.Object[] params,
                                                             ITestResult testResult)
                                                      throws java.lang.Throwable
        Throws:
        java.lang.Throwable
      • invokeMethod

        protected static java.lang.Object invokeMethod​(java.lang.reflect.Method thisMethod,
                                                       java.lang.Object instance,
                                                       java.util.List<java.lang.Object> parameters)
                                                throws java.lang.reflect.InvocationTargetException,
                                                       java.lang.IllegalAccessException
        Throws:
        java.lang.reflect.InvocationTargetException
        java.lang.IllegalAccessException
      • invokeMethod

        protected static java.lang.Object invokeMethod​(java.lang.reflect.Method thisMethod,
                                                       java.lang.Object instance,
                                                       java.lang.Object[] parameters)
                                                throws java.lang.reflect.InvocationTargetException,
                                                       java.lang.IllegalAccessException
        Throws:
        java.lang.reflect.InvocationTargetException
        java.lang.IllegalAccessException
      • invokeDataProvider

        protected static java.util.Iterator<java.lang.Object[]> invokeDataProvider​(java.lang.Object instance,
                                                                                   java.lang.reflect.Method dataProvider,
                                                                                   ITestNGMethod method,
                                                                                   ITestContext testContext,
                                                                                   java.lang.Object fedInstance,
                                                                                   IAnnotationFinder annotationFinder)
      • getParameters

        private static java.util.List<java.lang.Object> getParameters​(java.lang.reflect.Method dataProvider,
                                                                      ITestNGMethod method,
                                                                      ITestContext testContext,
                                                                      java.lang.Object fedInstance,
                                                                      IAnnotationFinder annotationFinder)
      • invokeHookable

        protected static void invokeHookable​(java.lang.Object testInstance,
                                             java.lang.Object[] parameters,
                                             IHookable hookable,
                                             java.lang.reflect.Method thisMethod,
                                             ITestResult testResult)
                                      throws java.lang.Throwable
        Invokes the run method of the IHookable.
        Parameters:
        testInstance - the instance to invoke the method in
        parameters - the parameters to be passed to IHookCallBack
        thisMethod - the method to be invoked through the IHookCallBack
        testResult - the current ITestResult passed to IHookable.run
        Throws:
        java.lang.NoSuchMethodException
        java.lang.IllegalAccessException
        java.lang.reflect.InvocationTargetException
        java.lang.Throwable - thrown if the reflective call to thisMethod results in an exception
      • invokeWithTimeout

        protected static void invokeWithTimeout​(ITestNGMethod tm,
                                                java.lang.Object instance,
                                                java.lang.Object[] parameterValues,
                                                ITestResult testResult)
                                         throws java.lang.InterruptedException,
                                                ThreadExecutionException
        Invokes a method on a separate thread in order to allow us to timeout the invocation. It uses as implementation an Executor and a CountDownLatch.
        Throws:
        java.lang.InterruptedException
        ThreadExecutionException
      • invokeWithTimeoutWithNoExecutor

        private static void invokeWithTimeoutWithNoExecutor​(ITestNGMethod tm,
                                                            java.lang.Object instance,
                                                            java.lang.Object[] parameterValues,
                                                            ITestResult testResult,
                                                            IHookable hookable)
      • invokeConfigurable

        protected static void invokeConfigurable​(java.lang.Object instance,
                                                 java.lang.Object[] parameters,
                                                 IConfigurable configurableInstance,
                                                 java.lang.reflect.Method thisMethod,
                                                 ITestResult testResult)
                                          throws java.lang.Throwable
        Throws:
        java.lang.Throwable