DevPrep

Все темы › Тестирование программного обеспечения

UI-тесты на XCUITest: accessibilityIdentifier, Page Object и стабильность

Middle PRO

Суть

XCUITest запускает приложение в отдельном процессе и управляет им снаружи, как пользователь, через дерево accessibility. Тест-раннер не видит код приложения: нельзя вызвать метод ViewModel или передать стаб через init, @testable import здесь не поможет. Всё общение — аргументы и переменные окружения при запуске плюс элементы на экране. Отсюда три правила стабильности: подменять бэкенд флагами запуска, искать элементы по accessibilityIdentifier, ждать событий, а не спать.

Продолжение ответа с кодом и уточняющими вопросами интервьюера — в приложении DevPrep.

Полный ответ — в DevPrep

Потренируйтесь перед собеседованием

В DevPrep эти ответы превращаются в задачи на минуту: что напечатает код, найди баг, пробное собеседование. По задаче в день.

Скачать DevPrep в App Store