Модульное тестирование:
У меня есть следующие классы
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.
}
}
Я пытаюсь выполнить модульное тестирование метода getInfo (), используя любой из методов насмешки, доступных либо Mockito, либо JMock.
например, при использовании Mockito я использую этот способ:
final AImpl aImpl = mock(AImpl.class);
when(aImpl.getInformation()).thenReturn("ABC");
Теперь, так как мне нужно создать экземпляр BImpl, единственный способ, которым я могу создать, - это использовать конструктор.
final BImpl bImpl = new BImpl (C);
bImpl.getInfo();
когда он вызывает метод getInfo () и пытается вызвать getInformation (), он вызывает не проверяемый объект, а фактический.
Какой хороший способ проверить этот метод.
Есть ли другой способ создать экземпляр BImpl, не используя конструктор, который я дал выше?
Спасибо !!