Выбор ответа Junior Тестирование обновлено

Поиск элементов в тесте Compose

Вопрос

Как найти в тесте Compose кнопку без текста (только иконка)?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: По contentDescription или по Modifier.testTag. Тесты Compose ищут узлы в дереве семантики: по тексту, по contentDescription, который заодно нужен для доступности, или по testTag.

Варианты ответа

  1. По R.id кнопки через onView(withId(...))
  2. По координатам на экране через performTouchInput
  3. По contentDescription или по Modifier.testTagправильный ответ
  4. Никак: Compose-тесты находят узлы только по тексту

Разбор

Тесты Compose ищут узлы в дереве семантики: по тексту, по contentDescription, который заодно нужен для доступности, или по testTag. R.id относится к View-системе, координаты хрупки. Espresso для Compose не нужен, хотя в гибридных экранах они работают вместе.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.