org.testng.junit.JUnit3TestRecognizer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of testng Show documentation
Show all versions of testng Show documentation
A testing framework for the JVM
package org.testng.junit;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import junit.framework.Test;
/**
*
* @author lukas
*/
public class JUnit3TestRecognizer implements JUnitTestRecognizer {
public JUnit3TestRecognizer() {
}
public boolean isTest(Class c) {
//class implementing junit.framework.Test with at least one test* method
if (Test.class.isAssignableFrom(c)) {
boolean haveTest = false;
for (Method m : c.getMethods()) {
if (m.getName().startsWith("test")) {
haveTest = true;
break;
}
}
if (haveTest) {
return true;
}
}
try {
//or a class with public static Test suite() method
Method m = c.getDeclaredMethod("suite");
if (Modifier.isPublic(m.getModifiers()) && Modifier.isStatic(m.getModifiers())) {
return m.getReturnType().isAssignableFrom(Test.class);
}
} catch (Throwable t) {
return false;
}
return false;
}
}