| Home >> All >> junit >> extensions >> [ abbot Javadoc ] |
Source code: junit/extensions/abbot/ScriptTestCollector.java
1 package junit.extensions.abbot; 2 3 import junit.runner.LoadingTestCollector; 4 import junit.runner.TestCaseClassLoader; 5 6 import abbot.Log; 7 8 /** Collects all available classes derived from ScriptTestCase in the current 9 * classpath. 10 */ 11 12 public class ScriptTestCollector extends LoadingTestCollector { 13 private ClassLoader loader; 14 15 public ScriptTestCollector() { 16 loader = Thread.currentThread().getContextClassLoader(); 17 if (loader == null) 18 loader = new TestCaseClassLoader(); 19 } 20 21 protected boolean isTestClass(String classFileName) { 22 Log.debug("Checking " + classFileName); 23 if (super.isTestClass(classFileName)) { 24 try { 25 Class testClass = getClassFromFile(classFileName); 26 return testClass != null 27 && (ScriptFixture.class.isAssignableFrom(testClass) 28 || ScriptTestSuite.class.isAssignableFrom(testClass)); 29 } 30 catch(ClassNotFoundException expected) { 31 } 32 catch(NoClassDefFoundError notFatal) { 33 } 34 } 35 return false; 36 } 37 38 private Class getClassFromFile(String classFileName) 39 throws ClassNotFoundException { 40 String className = classNameFromFile(classFileName); 41 return loader.loadClass(className); 42 } 43 }