Лучшие практики тестирования Android-устройств?
Я разрабатываю мобильное приложение для Android. Каковы наиболее распространенные библиотеки/фреймворки, используемые для тестирования модулей Android? Я чувствую, что большая часть бизнес-логики, тестирования базы данных, тестирования веб-сервисов может быть выполнена с помощью JUnit.
Однако, какой лучший подход для тестирования пользовательского интерфейса, рабочего процесса пользовательского интерфейса и т.д.? Например, как мы можем проверить, успешно ли приложение Android запускает веб-браузер? Или как мы можем подтвердить, что кнопки, некоторые вещи нажаты успешно? Или если изображения загружены успешно?
Ответы
Ответ 1
Я использую JUnit для модульного тестирования и Robolectric для контрольных испытаний.
В этой статье показан пример Hello World с Robolectric
В последнее время я изучаю интеграционное тестирование на Android, используя Arquillian Droidium.
Если вы хотите протестировать некоторый код, который использует REST API, вы можете высмеять его WireMock. С помощью этой библиотеки вы можете издеваться над API-интерфейсами REST с помощью кода или даже развертывать макетный HTTP-сервер на своей собственной машине и настраивать свои собственные смешные сопоставления.
Для REST API mocks я также рекомендую использовать Mockable.io.
Ответ 2
2017 ответ
В документации для Android есть тематическая серия под названием Best Practices for Testing. Я бы начал там.
Локальные тесты и контрольные тесты настраиваются по умолчанию при запуске нового проекта. Общий совет - использовать локальные тесты, когда это возможно. Иногда это требует насмешки над объектом, который использует Android API. Документация рекомендует, используя Mockito в этих случаях, Когда нужно выполнить тесты UI (инструментальные тесты), Android предоставляет Espresso. Существуют и другие доступные инструменты, такие как Monster Exerciser (для стресс-тестирования) и UI Automator (для тестирования взаимодействия нескольких приложений).
Пример
См. этот ответ о том, как начать работу с тестами в Android Studio.
Ответ 3
На веб-сайте разработчиков Android есть руководство по автоматическому тестированию пользовательского интерфейса. Я не пробовал, но похоже, что вы искали.