我有一个外部类 Outer 和一个内部类 Inner。为了测试公共(public)方法 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 公开,但 Outer 是唯一真正使用 Inner 的类。
问候
最佳答案
专门为测试目的更改代码可能不是一个好主意。
您有两个选择 - 按照@bot 在评论中建议的那样重新设计您的类,或者应用解决方法。
关于java - 外部类测试需要私有(private)内部类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12650139/