Как получить список всех методов аннотации @test из исходного пакета test
Я работаю над проектом, в котором все тестовые классы в пакете будут заполняться в пользовательском интерфейсе, где я могу выбрать любой из классов и запустить его. Теперь я хочу расширить его на запуск тестовых методов. Для этого мне нужно получить все методы тестирования в тестовом классе.Я нашел следующий класс, который даст мне тестовые классы.Но проблема в том ,что я легко получаю все методы @Test из пакетов src/main/java ,а не из src/test/java.он не может распознать исходный пакет теста.
Я применил приведенный ниже код, и он может дать мне все имена классов и имена методов, которые содержат методы @Test.Но это не применимо, чтобы узнать имена классов и методов из src/test/java проекта maven.
Что я уже пробовал:
публичный статический набор&ГТ; getClassesFromPackage(строке имя_пакета) { размышления размышления = новый отражений(имя_пакета, новый SubTypesScanner(ложь)); возврат размышления.getSubTypesOf(Object.class); }
публичный статический пустота главный(строка[] аргументы) {
for ( Class c: getClassesFromPackage("SourceMainJavaPackageName" )){
Способ[] методы = гр.getMethods();
для (способ Способ : методы) {
для (аннотации аннотации : method.getDeclaredAnnotations()) {
если (аннотация.annotationType().равно(org.junit.Test.class)) {
считать++;
}
}
}
}
}