### Question:
ClassHelper { public static Class<?> forNameWithThreadContextClassLoader(String name) throws ClassNotFoundException { return forName(name, Thread.currentThread().getContextClassLoader()); }  static Class<?> forNameWithThreadContextClassLoader(String name); static Class<?> forNameWithCallerClassLoader(String name, Class<?> caller); static ClassLoader getCallerClassLoader(Class<?> caller); static ClassLoader getClassLoader(Class<?> clazz); static ClassLoader getClassLoader(); static Class<?> forName(String name); static Class<?> forName(String name, ClassLoader classLoader); static Class<?> resolvePrimitiveClassName(String name); static String toShortString(Object obj); static String simpleClassName(Class<?> clazz); static boolean isSetter(Method method); static boolean isGetter(Method method); static boolean isPrimitive(Class<?> type); static Object convertPrimitive(Class<?> type, String value); static boolean isTypeMatch(Class<?> type, String value); static final String ARRAY_SUFFIX; }### Answer:
@Test public void testForNameWithThreadContextClassLoader() throws Exception { ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); try { ClassLoader classLoader = Mockito.mock(ClassLoader.class); Thread.currentThread().setContextClassLoader(classLoader); ClassHelper.forNameWithThreadContextClassLoader("a.b.c.D"); verify(classLoader).loadClass("a.b.c.D"); } finally { Thread.currentThread().setContextClassLoader(oldClassLoader); } }