public class TestCaseClassLoaderTest extends TestCase
1: package junit.tests.runner;
3: import java.lang.reflect.*;
4: import junit.framework.*;
5: import junit.runner.*;
6: import java.net.URL;
8: /**
9: * A TestCase for testing the TestCaseClassLoader
10: *
11: */
12: public class TestCaseClassLoaderTest extends TestCase {
14: public void testClassLoading() throws Exception {
15: TestCaseClassLoader loader= new TestCaseClassLoader();
16: Class loadedClass= loader.loadClass("junit.tests.runner.ClassLoaderTest", true);
17: Object o= loadedClass.newInstance();
18: //
19: // Invoke the assertClassLoaders method via reflection.
20: // We use reflection since the class is loaded by
21: // another class loader and we can't do a successfull downcast to
22: // ClassLoaderTestCase.
23: //
24: Method method= loadedClass.getDeclaredMethod("verify", new Class[0]);
25: method.invoke(o, new Class[0]);
26: }
28: public void testJarClassLoading() throws Exception {
29: URL url= getClass().getResource("test.jar");
30: assertNotNull("Cannot find test.jar", url);
31: String path= url.getFile();
32: TestCaseClassLoader loader= new TestCaseClassLoader(path);
33: Class loadedClass= loader.loadClass("junit.tests.runner.LoadedFromJar", true);
34: Object o= loadedClass.newInstance();
35: //
36: // Invoke the assertClassLoaders method via reflection.
37: // We use reflection since the class is loaded by
38: // another class loader and we can't do a successfull downcast to
39: // ClassLoaderTestCase.
40: //
41: Method method= loadedClass.getDeclaredMethod("verify", new Class[0]);
42: method.invoke(o, new Class[0]);
43: }
44: }