以下は私のコードデザインです。私は、それのためのテストケースを書く方法、指導が必要です。以下はJavaで保護されたメソッドのモックオブジェクト
abstract class X
{
public void xyz()
{
A a = getA();
callMe(a);
}
private A getA()
{
//do some stuff
return a;
}
protected void callMe();
}
子クラスされています。今、私は子クラスYのためのユニットテストケースを書いています
class Y extends X
{
@Autowired
MyClass myClass;
protected void callMe(A a)
{
B b = provideB();
C c = b.getC();
c.setValue(myClass.getSomeValue());
}
private B provideB()
{
//every child class has its own way of providing this object
return b;
}
}
、だから私はテストのためのxyzメソッドを呼び出しています。私はMyClassオブジェクトを私の外部依存関係として模倣する必要があることを知っています。だから私はそれを嘲笑した。しかし、私はAを模倣すべきか、それに続いてBとCを混乱させるべきか、それとも何らかの形で保護された/私的な方法で作成されるので混乱しています。 いずれのリードも高く評価されます。