Два синтаксиса для загрязнения примерно эквивалентны. Однако вы можете всегда использовать doReturn/when
для загрязнения; Но есть случаи, когда вы не мочь использовать when/thenReturn
. Анкет Загрязняние пустого методов - это один из них. Другие включают в себя использование с шпионами Макета и загрязняние того же метода более одного раза.
Одна вещь when/thenReturn
дает вам, что doReturn/when
Не является проверкой типов значения, которое вы возвращаете, во время компиляции. Тем не менее, я считаю, что это почти не имеет значения - если у вас неправильный тип, вы узнаете, как только вы запустите свой тест.
Я настоятельно рекомендую только использовать doReturn/when
. Анкет Нет смысла изучать два синтаксиса, когда это сделает.
Вы можете обратиться к моему ответу в Формирование Mockito "грамматики" - Более подробный ответ на очень тесно связанный вопрос.