Я работаю над проектом, в котором все тестовые классы в пакете будут заполняться в пользовательском интерфейсе, где я могу выбрать любой класс и запустить.Теперь я хочу расширить его для запуска методов тестирования.Для этого мне нужно получить все тестовые методы в тестовом классе. Я нашел следующий класс, который даст мне тестовые классы. Но проблема в том, что я легко получаю все методы @Test из пакетов src / main / java, а не из src /test / java.it не может распознать пакет исходного кода теста.
Я применил приведенный ниже код, и он может дать мне все имена классов и методов, которые содержат методы @Test. Но он не применим для поискавывести имена классов и методов из src / test / java проекта maven.
public static Set> getClassesFromPackage (String packageName) {Reflections reflections = new Reflections (packageName, new SubTypesScanner (false));return 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++;
}
}
}
}
}
Мне нужны имена методов @Test и соответствующие имена классов из src / test / java.