ReflectionMethodInvoker { public void initialize() throws NoSuchMethodException { getTargetMethod(); } ReflectionMethodInvoker(Class<T> clazz,
                                   Class<R> returnType,
                                   String methodName,
                                   Class<?>... parameterTypes); R invoke(T obj, Object... args); void initialize(); boolean isInitialized();  }
@Test public void initialize_methodNotFound_throwsMethodNotFoundException() throws NoSuchMethodException { ReflectionMethodInvoker<String, Integer> invoker = new ReflectionMethodInvoker<String, Integer>(String.class, Integer.class, "foo", String.class, int.class); exception.expect(NoSuchMethodException.class); invoker.initialize(); }