我正在一个项目中,在一个包中所有测试类中 将填充在UI中,我可以在其中选择任何类并运行。 现在,我想将其扩展到测试方法运行。为此,我需要 检索一个测试类中的所有测试方法。我发现下面的类可以给我测试类。但是问题是,我很容易从src / main / java包中获取所有@Test方法,而不是从src / test / java.it中获取无法识别测试源包。
我已经应用了下面的代码,它可以给我所有包含@Test方法的类名和方法名,但是不适用于从maven项目的src / test / java中查找类名和方法名。 / p>
公共静态集> getClassesFromPackage(String packageName){ 反射反射=新的Reflections(packageName,new SubTypesScanner(false)); 返回Reflections.getSubTypesOf(Object.class); }
public static void main(String[] args) {
for ( Class c: getClassesFromPackage("SourceMainJavaPackageName" )){
Method[] methods = c.getMethods();
for (Method method : methods) {
for (Annotation annotation : method.getDeclaredAnnotations()) {
if (annotation.annotationType().equals(org.junit.Test.class)) {
count++;
}
}
}
}
}
我想要src / test / java中的@Test方法名称和相应的类名称。