外側のクラス Outer と内側のクラス Inner があります。パブリック メソッドの outerMethod() をテストするには、Outer で Inner のインスタンスを作成する必要があります。これは、inners というリストに格納されます。内部クラスは、別のクラスである Other の修正バージョンです。
概要へ:
class Other{
public Other(){
//doesnt matter actual implementation
}
}
class Outer{
private List<Inner> inners = new ArrayList<Inner>();
public Outer(){}
public void outerMethod(){}
private class Inner{
public Inner(Other other){}
}
}
私の質問は、テスト目的のためだけに次のようなメソッドを作成する必要があるかどうかです。
public void createInnerInstance(Other other)
{
Inner inner = new Inner(other);
inners.add(inner);
}
これに対する他の回避策はありますか?これで、Inner を public にすることができますが、実際に Inner を使用するクラスは Outer だけです。
よろしく