Используя библиотеку Reflections, я написал простой класс утилиты, который индексирует все методы тестирования вместе с их аннотациями. Библиотека Размышления помогает мне так:Конфигурация Размышления для проверки классов тестов
Reflections reflections = new Reflections(new ConfigurationBuilder()
.setUrls(ClasspathHelper.forPackage(packageToIndex))
.filterInputsBy(new FilterBuilder().includePackage(packageToIndex))
.setScanners(
new SubTypesScanner(false),
new TypeAnnotationsScanner(),
new MethodAnnotationsScanner()));
Set testMethods = reflections.getMethodsAnnotatedWith(Test.class);
Если моя утилита класса расположена в корневом каталоге источников (src/main/java
), он находит все методы испытаний, как и ожидалось.
Однако, если он находится в тестовом корне (src/test/java
), то он не находит методов тестирования.
Как определить ConfigurationBuilder для отражений, чтобы он работал для последнего случая?
корень теста и корень источников равны? – dit
@dit, нет, я исправил свой вопрос – dzieciou