Reflectionsライブラリを使用して、すべてのテスト メソッドとその注釈をインデックス化する単純なユーティリティ クラスを作成しました。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
) にある場合は、テスト メソッドが見つかりません。
後者の場合に機能するように、Reflections の ConfigurationBuilder をどのように定義すればよいですか?