С чего начинается родина в автоматизации Qiwi Wallet
Саша Баглай. Как работать с Mockito
1. Mockito
Image: http://www.friedchillies.com/index.php/recipes/detail/mock-ito/
* Maddeningly easy to make
* Some Mint, Brown Sugar, Lime, Ginger Beer, Ice
2. Дбавляем в проект
* Доставай свой pom.xml
* И добавь туда новую зависимость
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.8.5</version>
</dependency>
1.8.5
29. В чем же разница?
* Мок класса без сценария return’ит null
null’ы
* Spy – вызывает реальные методы
* А еще, Spy работает с объектами 1.8.5
30. Что return’ит mock?
return’ит mock?
* Если не указано ничего в сценарии
* Для всех Collection – пустые коллекции
* Для примитивов – их default значения
* Все остальные объекты - null 1.8.5
31. Вызов реального метода
* Последняя команда повторяется
* Не важно thenReturn thenCallRealMethod
thenReturn/thenCallRealMethod 1.8.5
46. Выводы?
* Я перестал юзать потому, что:
-- с Mockito я пишу меньше кода
-- с Mockito код моих тестов читабельнее
-- Mockito проще, но функционально он не уступает
-- у Mockito информативнее вывод AssertionError
-- а validateMockitoUssage - вообще без комментариев
-- у Mockito нет фаз записи/воспроизведения сценария
-- а значит ненадо делать replay replayAll
replay/replayAll
-- в Mockito проверки конкретные, а не всего сценария
-- в Mockito больше matcher’ов и они reuse’али их
-- показалось, обо мне думали разработчики 1.8.5
-- а это приятно