SanchelliosProg
@SanchelliosProg
Java, Android, Software Testing

Как пишете unit тесты для Android приложения?

Особенно интересуют методики тестирования баз данных. Как вы делаете моки баз, как вы мокаете контент и т.д. и т.п.
  • Вопрос задан
  • 1524 просмотра
Решения вопроса 1
TranE91
@TranE91
Senior Android Engineer
Раньше использовал Robolectric при тестировании ORMLight функционала более чем хватало.
С выходом AndroidStudio Beta 2.0 отказался от либ(возникли проблемы с Realm интеграцией для Robolectric - использование нативной либы) и исопльзую только коробочные методы. + теперь нету звездоплясок с внедрением jacoco для CodeCoverage, он уже в коробке. В целом, по мере необходимостей, перешел на TDD разработку и она себя очень окупает. А с новыми плюшками в AndoridStudio это делается в 2 клика и с большей простотой.

Если в 2х словах про тесты. В директории вашего проекта имеется 2 папочки - androidTest и test. androidTest - те тесты, которые необходимо запускать только на телефоне(эмуляторе) и никак иначе, test - те которые не требуют обязательной эмуляции android у-ва, но с помощью вспомогательных утил robolectric, robotium... это очень может облегчить жизнь. В целом, для себя, убедился в одном - если у вас не стоит задачи развертывания continuous integration, то можете спокойно дерзать androidTest, если же есть такая задача, то стоит сразу переходить в директорию test и крутить все тесты там(хотя миграция тестов не займет много времени, костылей с интеграцией robolectric будет хватать)

Для себя убедился, что писать тесты нужно, ибо при поддержке продукта без тестов вы рано или поздно сдохнете )
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
SolidlSnake
@SolidlSnake
Ваш дружелюбный сосед
Robolectric

UPD.
В книге Android Best Practices (Godfrey Nolan, Onur Cinar, David Truxall) есть целая глава посвященная TDD, рассматривается работа и с unit-тестами.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы