Основной способ решения проблем в тестах – посмотреть на дерево семантики.
Чтобы распечатать дерево, вызовите composeTestRule.onRoot().printToLog() в любой точке теста. Эта функция выводит в журнал следующую запись:
Node #1 at (...)px
|-Node #2 at (...)px
OnClick = '...'
MergeDescendants = 'true'
|-Node #3 at (...)px
| Text = 'Hi'
|-Node #5 at (83.0, 86.0, 191.0, 135.0)px
Text = 'There'
В этих журналах содержится ценная информация для отслеживания ошибок.
Дополнительные ресурсы
- Тестирование приложений для Android. На этой целевой странице вы найдете общую информацию об основах и методах тестирования.
- Основы тестирования. Узнайте больше об основных концепциях тестирования приложений для Android.
- Локальные тесты. Некоторые тесты можно запускать локально на рабочей станции.
- Инструментальные тесты. Рекомендуем также проводить инструментальные тесты. То есть тесты, которые запускаются непосредственно на устройстве.
- Непрерывная интеграция. Непрерывная интеграция позволяет интегрировать тесты в конвейер развертывания.
- Тестируйте приложение на экранах разных размеров. Пользователи могут запускать приложение на самых разных устройствах.
- Espresso. Хотя этот инструмент предназначен для интерфейсов на основе представлений, он может быть полезен для некоторых аспектов тестирования Compose.