MockitoJUnitRunner
- , специально предназначенный для использования с тестовой средой Mockito
- инфраструктура Mockito помогает с ложными зависимостями, когда вы хотите сосредоточить свои тесты на одном классе и избежать вызова методов назависимости (вместо этого вызывает макет / манекен, который легко настраивается).
- Выше приведено то, для чего используется mockito, но более подробно об этом раннере - из документации: «Содержит тесты в чистоте и улучшает опыт отладки».«Runner совершенно необязателен - есть и другие способы заставить @Mock работать».Источник - https://static.javadoc.io/org.mockito/mockito-core/2.6.8/org/mockito/junit/MockitoJUnitRunner.html
SpringJunit4ClassRunner
- , специфичный для использования с платформой пружины
- , используемой для интеграционных тестов, когда требуется загрузить контекст пружины(создавать бобы весны, выполнять внедрение зависимостей и т. д.).
- В интеграционных тестах вы, возможно, не будете так много издеваться над зависимостями, но вы можете сделать и то и другое в одном и том же тесте.
- Интеграционные тесты полезны, когда вы хотите проверить загрузку пружинного контекста или, возможно, провести тестирование от уровня обслуживания / высокого уровня до более низких уровней, таких как доступ к данным, с помощью одного теста.
В некоторых случаях вы можете захотеть использовать оба - например, интеграционный тест, где вы также хотели бы смоделировать некоторые зависимости (возможно, они делают удаленные вызовы).К сожалению, вы не можете использовать два @RunWiths, но это хороший пост об этом - Несколько операторов RunWith в jUnit