вы не объединяете Mockito с Robolectric, насколько я понимаю, тестирование на Android.
Вы используете Robolectric, чтобы вам не приходилось тестировать инструментальные тесты на эмуляторе или физическом устройстве, вместо этого вы тестируете его на JVM .Это Робоэлектрик.Это также позволяет вам получить доступ к платформе Android и работает медленнее.
С другой стороны, Mockito - это библиотека, которая позволяет вам: mock: ваши зависимости внутри модульного теста ,Цель модульного тестирования - проверить поведение конкретного объекта программного обеспечения, конкретно его логику, которую вы хотите протестировать.Поскольку у него нет доступа к платформе Android (он не нуждается в этом), он довольно быстрый.
Редактировать:
На самом деле все сложнее.Вы можете использовать Robolectric вместе с Mockito (введя правило Mockito в качестве Runner - тогда у вас будет 2 бегуна, один @RunWith (AndroidJunit4) - robolectric, с MockitoRule).И вы можете просто выполнить модульное тестирование чего-то, что требует доступа к Android SDK с помощью Robolectric, без фактического запуска действия ... Итак, вот тестовые конфигурации, которые я могу придумать на Android:
(/test) Simple JUnit
(/ test) JUnit + Mockito - классическое модульное тестирование в шаблонах проектирования
(/test) AndroidJUnit (Robolectric) + Mockito без начальной активности - модульное тестирование, требующее как экземпляров android sdk, так и насмешек
(/ test) ** AndroidJUnit (Robolectric)- начинает активность, вы тестируете пользовательский интерфейс с эспрессо
- (/ instrumentedTest) AndroidJUnit - тоже самое, тестируйте пользовательский интерфейс с эспрессо
Или вы также можете использовать sharedTest.Всего одна папка для обоих.С этим вы можете получить возможность запустить один тест как на устройстве, так и на виртуальной машине, я просто не знаю как.Возможно, Азот представит эту опцию в будущем.https://blog.danlew.net/2015/11/02/sharing-code-between-unit-tests-and-instrumentation-tests-on-android/
В настоящее время существует множество способов настройки тестовой среды для определенного класса.Я надеюсь, что проект Nitrogen упростит процесс принятия решений и предоставит хорошую документацию по этому вопросу.