Подтвердить что ты не робот

Мокитоподобный реальный метод

У меня есть класс, который имеет 2 метода. Я хочу высмеять класс, а затем высмеять первый метод, но не второй.

например.

class C {
 void m1() { ...}
 boolean m2() { ... return flag;}
}     

unit test код:

C cMock = Mockito.mock(C.class);
Mockito.doNothing().when(cMock).m1();
Mockito.when(cMock.m2()).thenCallRealMethod();

Странно, что m2 не вызывается.

Пропустить что-нибудь здесь?

4b9b3361

Ответ 1

Здесь также можно использовать Mockito.spy. он позволяет выполнять частичные макеты на реальных объектах.

C cMock = Mockito.spy(new C());
Mockito.doNothing().when(cMock).m1();

Ответ 2

отсутствовал вызов: cMock.m2();