В андроид тесты делятся на 2 группы:
- Unit тесты
- Инструментальные тесты (андроид тесты)
Для удобства эти группы живут в разных папках.
Unit-тесты
Используют JUnit. Проверят бизнес логику. Быстрые и надежные как швейцарский нож.
Инструментальные тесты
Проверяют работу UI непосредственно на устройстве. Более медленные и сложные.
Для написания используем библиотеку Espresso, которая имеет простой api:
- Находим элемент интерфейса: onView()
- Взаимодействуем с ним: perform(), check()
Инструментальные тесты запускаются на Андроид устройстве или в эмуляторе, перед запуском тестов, убедитесь что устройство подключено, или эмулятор запущен.
Важный вывод
Android фреймворк диктует нам свои правила:
- Activity тестируется медленными UI тестами, и поэтому не должна содержать бизнес логики, ее задача отображать на экране готовый результат и считывать действия пользователя.
- Бизнес логика должна тестироваться быстрыми Unit-тестами, жить отдельно от Activity (например во ViewModel)
#программирование #android #тесты