Чем Robolectric отличается от Espresso и когда что выбрать?
Что хотят услышать интервьюеры:
Сравнение: Robolectric нужно оценивать относительно Espresso по критериям lifecycle, читаемости, тестируемости, производительности и поддержки.
Ответ:
Когда выбирать Robolectric: когда его свойства прямо соответствуют задаче: запускает Android-like тесты на JVM без устройства, но не заменяет все instrumented scenarios.
На собеседовании: не говорите «это современнее»; объясните trade-off, ограничения и возможные ошибки. Типичный анти-паттерн: писать flaky UI tests, тестировать implementation details или зависеть от реальной сети/базы без контроля.
@RunWith(RobolectricTestRunner::class)