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

В чем разница между mock() и stub() при использовании Mockito?

Оба они, похоже, делают одно и то же: почему вы использовали бы это предпочтение другому?

org.mockito.Mockito.stub()
org.mockito.Mockito.mock()
4b9b3361

Ответ 1

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

От Mockito "Зачем нам нужна еще одна насмешливая структура?" :

 Separation of stubbing and verification. Should let me code in line with intuition: 
 stub before execution, selectively verify interactions afterwards. I don’t 
 want any verification-related code before execution.

Вы можете заглушить поведение вызовов до их вызова. Например (с домашней страницы Mockito):

 when( mockedList.get(0)).thenReturn( "first" );

Вы можете проверить взаимодействия с издеваемыми объектами после их вызова. Например:

 verify( mockedList ).add("one");