2016-12-04 8 views
3

なぜ反射は私のテストクラスをロードしたくないのですか?私はJavaでの反射を使用しています

<dependency> 
<groupId>org.reflections</groupId> 
<artifactId>reflections</artifactId> 
<version>0.9.10</version> 
</dependency> 

は、私は私のテストクラスを除くすべてのクラスをロードすることができます。

List<ClassLoader> classLoadersList = new LinkedList<ClassLoader>(); 
classLoadersList.add(ClasspathHelper.contextClassLoader()); 
classLoadersList.add(ClasspathHelper.staticClassLoader()); 

Reflections reflections = new Reflections(new ConfigurationBuilder() 
    .setScanners(new SubTypesScanner(false /* don't exclude Object.class */), new ResourcesScanner()) 
    .setUrls(ClasspathHelper.forClassLoader(classLoadersList.toArray(new ClassLoader[0])))); 

そして、私はこの方法で使用しています:私のテストクラスは、(SRC /メイン/ Javaで)他のクラスと同じ場所にある

Set<Class<?>> allClasses = reflections.getSubTypesOf(Object.class); 

Iそれがフレームワークのためだと思う。 ReflectionsはJUnitを見つけられないと思うので、クラスをロードできません。 Reflectionsにクラスパスを与えることはできますか?

答えて

0

対象外ですか? =>反射が見えない...

関連する問題