Если это ваш класс:
public static class A{
public int methodUnderTest() {
return display();
}
public int display(){
return 1;
}
}
затем, используя mockito, вы можете сделать это:
A a = spy(new A());
when(a.display()).thenReturn(0);
System.out.println(a.methodUnderTest()); // will print 0
1006 * * Пояснение:
Когда вы mock()
класс, базовый экземпляр не существует, и все методы, которые вы вызываете, ничего не будут делать и возвращают значения по умолчанию, если не указано иное.
Когда вы spy()
в экземпляре, все вызовы записываются, а перенаправляется фактическому экземпляру . Это означает, что поведение вашего класса останется таким же, если вы не будете издеваться над конкретным вызовом.
Сказав это, такой случай, как у вас, обычно является признаком того, что вам нужно разделить класс и вложить немного в , разделяя ваши проблемы .