Как получить список всех методов аннотации @Test из пакета исходного кода - PullRequest
1 голос
/ 23 апреля 2019

Я работаю над проектом, в котором все тестовые классы в пакете будут заполняться в пользовательском интерфейсе, где я могу выбрать любой класс и запустить.Теперь я хочу расширить его для запуска методов тестирования.Для этого мне нужно получить все тестовые методы в тестовом классе. Я нашел следующий класс, который даст мне тестовые классы. Но проблема в том, что я легко получаю все методы @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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...