如何从测试源包中获取所有@Test注解方法的列表

时间:2019-04-23 06:53:55

标签: testing annotations

我正在一个项目中,在一个包中所有测试类中 将填充在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方法名称和相应的类名称。

0 个答案:

没有答案