У них немного разное использование, и я склонен использовать оба в своих проектах.
Мокито
используется для создания макетов ваших классов.
Когда вы тестируете определенный класс, вы имитируете все его зависимости с помощью Mockito.
По возможности большинство ваших тестов должны использовать mockito. Чтобы сделать это возможным, большинство людей разбивают свой код на MVP и т. д., где бизнес-логика отделена от логики представления. Таким образом, ваша бизнес-логика (Presenter) не имеет знаний (или зависимостей) о библиотеке Android и не нуждается в их макетах.
Робоэлектрик
— это библиотека, содержащая множество макетов классов Android.
Средство запуска тестов Robolectric внедряет эти «теневые объекты» вместо реальных классов Android при запуске тестов. Именно это позволяет запускать тесты на JVM без загрузки экземпляра Android.
При использовании MVP ваш уровень представления, как правило, реализуется с помощью действия/фрагмента, и именно здесь вы можете использовать Robolectric для их имитации.
Примечания
Используйте Robolectric только там, где это необходимо. По сути, он повторно реализует части платформы Android, но не всегда точно таким же образом.
Вам также может понадобиться другая библиотека, например PowerMock. Это позволяет имитировать статические классы, такие как Math, или может использоваться для имитации статических классов Android, таких как TextUtils.
Оба используются с JUnit
person
Jahnold
schedule
09.06.2016