«1. Обзор
Mockito — популярный фреймворк для создания макетов для Java. Но прежде чем мы начнем, у нас есть несколько разных артефактов на выбор.
В этом кратком руководстве мы рассмотрим разницу между mockito-core и mockito-all. После этого мы сможем выбрать правильный.
2. mockito-core
Артефакт mockito-core — главный артефакт Mockito. В частности, он содержит как API, так и реализацию библиотеки.
Мы можем получить артефакт, добавив зависимость в наш pom.xml:
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-core</artifactId>
<version>3.3.3</version>
</dependency>
На этом этапе мы уже можем начать использовать Mockito.
3. mockito-all
Конечно, mockito-core имеет некоторые зависимости, такие как hamcrest и objenesis, которые Maven загружает отдельно, но mockito-all — это устаревшая зависимость, которая объединяет Mockito, а также его необходимые зависимости.
Чтобы убедиться в этом, давайте заглянем внутрь mockito-all.jar, чтобы увидеть содержащиеся в нем пакеты:
mockito-all.jar
|-- org
| |-- hamcrest
| |-- mockito
| |-- objenesis
Последняя общедоступная версия mockito-all — это версия 1.x, выпущенная в 2014 году. Более новые версии Mockito больше не выпускает mockito-all.
Разработчики выпустили эту зависимость для упрощения. Разработчики должны были использовать это, если у них нет инструмента сборки с управлением зависимостями.
4. Заключение
Как мы выяснили выше, mockito-core — главный артефакт Mockito. Более новые версии больше не выпускают mockito-all. Отныне мы должны использовать только mockito-core.