Реальный метод исполняется несмотря на насмешки - PullRequest
0 голосов
/ 27 апреля 2020

Я новичок в 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. Пожалуйста, помогите.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...