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
      • canAccess

        private static boolean canAccess​(java.lang.reflect.Method thisMethod)
      • invokeDataProvider

        public 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 boolean invokeHookable​(java.lang.Object testInstance,
                                                java.lang.Object[] parameters,
                                                IHookable hookable,
                                                java.lang.reflect.Method thisMethod,
                                                ITestResult testResult)
                                         throws java.lang.Throwable
        Throws:
        java.lang.Throwable
      • 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 boolean invokeWithTimeoutWithNoExecutor​(ITestNGMethod tm,
                                                               java.lang.Object instance,
                                                               java.lang.Object[] parameterValues,
                                                               ITestResult testResult,
                                                               IHookable hookable)
      • getRunningMethodStackTrace

        private static java.lang.StackTraceElement[] getRunningMethodStackTrace​(java.util.concurrent.ExecutorService exec)
      • invokeConfigurable

        protected static boolean 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