使用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 以便它适用于后一种情况?