私はいくつかのプライベートクラスでクラスをテストしようとしています(はい、これは一般的にテスト容易性の悪い習慣と見なされていることを知っていますが、この質問は設計原則に関するものではありません)。私のクラスは次のようになります。
public class EnclosingClass {
.
.
.
private class InnerClass implements InnerClassType {
public InnerClass(){ /* do stuff */}
public int InnerClassMethod();
}
}
InnerClassType
パブリックインターフェイスです
私は次のようにして、powermockでクラスをインスタンス化しようとしました。
Class clazz = Whitebox.getInnerClassType(EnclosingClass.class, "InnerClass");
Constructor constructor = Whitebox.getConstructor(clazz, null);
InnerClassType innerClass = (InnerClassType) constructor.newInstance(null);
そしてまた:
Class clazz = Whitebox.getInnerClassType(EnclosingClass.class, "InnerClass");
InnerClassType innerClass = (InnerClassType) Whitebox.invokeConstructor(clazz);
しかし、両方の試みで私はConstructorNotFoundException
これらの内部クラスをインスタンス化することは可能ですか?もしそうなら、私はどこが間違っているのですか?