Я новичок в Java модульном тестировании и начал использовать Mockito. Я использую doNothing .... но реальный метод всегда выполняется. Не уверен, что мне не хватает.
public abstract class MyApplication {
private Square s;
private Circle c;
public MyApplication(Square s, Circle c){
this.s = s;
this.c = c;
}
public void firstMethod() {
System.out.println("Starting first Method");
secondMethod();
System.out.println("Ending first Method");
}
public void secondMethod() {
//some business logic here
}
}
public class SmallApplication extends MyApplication {
private Square s;
private Circle c;
public SmallApplication(Square s, Circle c){
this.s = s;
this.c = c;
}
}
public class MyApplicationTest {
public void testFirstMethod() {
Square smock = mock(Square.class);
Circle cmock = mock(Circle.class);
SmallApplication app = new SmallApplication(smock, cmock);
SmallApplication appSpy = spy(app);
doNothing().when(appSpy).secondMethod();
appSpy.firstMethod();
}
}
Я не хочу, чтобы выполнялись бизнес-логики secondMethod c, но с помощью приведенного выше кода всегда выполняется бизнес-логика второго метода c. Пожалуйста, помогите.