Убедитесь, что немодированные методы не вызываются в mockito - PullRequest
7 голосов
/ 24 января 2012

В следующем примере:

   Execution execution = mock(Execution.class);
   when(execution.getLastQty()).thenReturn(1000.0);
   when(execution.getLastPrice()).thenReturn(75.0);

   order.onFillReceived(execution);

   assertEquals(0, order.getLeavesQty(), 0);

Выполнение имеет много других методов, которые не должны вызываться. Только два метода, которые были смоделированы, должны использоваться в этом тесте и должны быть вызваны. Если вызываются какие-либо другие методы, то проверка должна завершиться неудачей.

Как мне сказать, что Mockito потерпит неудачу, если будут вызваны какие-либо другие методы?

Ответы [ 2 ]

8 голосов
/ 24 января 2012

Документация явно описывает это. Вы хотите позвонить verifyNoMoreInteractions, либо после вызова verify (согласно документации), либо

verify(execution).getLastQty();
verify(execution).getLastPrice();
verifyNoMoreInteractions(execution);

или используя ignoreStubs:

verifyNoMoreInteractions(ignoreStubs(execution));
0 голосов
/ 07 февраля 2013

Вы можете попробовать метод never, если он соответствует сценарию использования:

т.е.

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