Представьте, что можно тестировать android-код без эмулятора, запуская тесты за секунды вместо минут. Именно это обещает Robolectric — библиотека, которую либо любят, либо ненавидят, но точно не игнорируют. За кажущейся простотой «просто добавь зависимость» скрывается удивительная магия модификации байткода, о которой не рассказывают в статьях. Предлагаю разобраться, как на самом деле работает магия Robolectric и почему эти знания пригодятся любому android-разработчику. Читать далее
Задавались ли вы вопросом, почему Robolectric не работает JUnit 5? В этой статье расскажу, как подружить Robolectric и JUnit 5 и как мы смогли это сделать в команде. Вы узнаете, как запустить JUnit 4 тесты при совместном использовании с JUnit Jupiter с помощью тестового движка Vintage. А ещё — как с JUnit Platform…
В мире Android-разработки всё чаще используют unit-тестирование. Проверка корректности работы отдельных модулей приложения помогает выявить и устранить ошибки в коде уже на ранних этапах. Вкупе с автоматизацией сборки, компонентными и интеграционными тестами, unit-тесты позволяют делать качественный продукт, независимо от размера вашей команды разработчиков. Под катом расскажу о внутреннем устройстве фреймворка для unit-тестирования Android-приложений — Robolectric. Читать дальше →
Тестирование приложений Jetpack Compose обычно основано на использовании библиотеки Compose UI Test и создании юнит-тестов поверх библиотек мокирования или DI. Однако этот подход требует наличия эмулятора и не всегда применим для использования в конвейере CI/CD, где обычно используется Robolectric