単体テスト:
私は次のクラスを持っています
public class BImpl extends AImpl
{
public BImpl(final C c)
{
super(c);
}
public String getInfo()
{
final String info = getInformation();
// Do all my logic here
return info;
}
}
public abstract class AImpl
{
public String getInformation()
{
// some logic...returns String.
}
}
Mockito または JMock のいずれかで利用可能なモック メソッドのいずれかを使用して、メソッド getInfo() を単体テストしようとしています。
たとえば、Mockito を使用する場合、次のように使用しています。
final AImpl aImpl = mock(AImpl.class);
when(aImpl.getInformation()).thenReturn("ABC");
BImpl のインスタンスを作成する必要があるため、作成できる唯一の方法は、利用可能なコンストラクターを使用することです。
final BImpl bImpl = new BImpl (C);
bImpl.getInfo();
getInfo() メソッドを呼び出して getInformation() を呼び出そうとすると、モック オブジェクトを呼び出すのではなく、実際のオブジェクトを呼び出します。
この方法をテストする良い方法は何ですか。上記のコンストラクターを使用せずに BImpl のインスタンスを作成できる他の方法はありますか?
ありがとう!!