Выбор ответа Senior Тестирование обновлено
Flutter: integration_test и нативные диалоги
Вопрос
Integration-тест должен пройти онбординг с системным запросом разрешения на уведомления. Что учесть?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: integrationtest не видит нативный диалог: нужен Patrol или выдача разрешения заранее. Тестовый драйвер Flutter работает внутри дерева виджетов и не управляет нативными окнами: разрешения, уведомления, выбор фото.
Варианты ответа
integration_testнажимает системные диалоги так же, как обычные виджеты Flutterintegration_testне видит нативный диалог: нужен Patrol или выдача разрешения заранееправильный ответ- Такие сценарии в принципе возможно проверить только вручную на устройстве
- Нужно переписать системный диалог на Flutter, иначе тест не сможет его закрыть
Разбор
Тестовый драйвер Flutter работает внутри дерева виджетов и не управляет нативными окнами: разрешения, уведомления, выбор фото. Варианты: Patrol с нативной автоматизацией, заранее выданные разрешения при запуске (команды adb shell pm grant, xcrun simctl privacy) или абстракция над сервисом разрешений с фейком в тестах. Переписывать системный диалог нельзя.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.