Flutter: отладка интеграционного теста - PullRequest
0 голосов
/ 26 августа 2018

Я изучаю Flutter и использую Android Studio в качестве своей IDE, и я столкнулся с некоторыми болевыми точками при тестировании интеграции.

В рамках учебного процесса я написал базовый интеграционный тест.

Цель этого интеграционного теста - изучить виджет Image (созданный с помощью Image.Asset), чтобы определить, является ли источник изображения, который генерируется динамически, ожидаемым значением или изображение отображается.

Я запускаю интеграционный тест, используя вкладку «Терминал» в IDE, например: flutter drive --target=my_app/test_driver/user_list_scrolling.dart

Я хочу добавить точку останова к моему методу тестирования интеграции и пройти его через Android Studio, чтобы помочь мне в освоении функций тестирования.

Мои вопросы:

Как я могу отладить интеграционный тест из Android Studio? - Поскольку я учусь, я хотел бы поставить точку останова в моем интеграционном тесте и поиграть с Finders в ближайшем окне. Однако, когда я запускаю тест интеграции с терминала, мои точки останова, кажется, игнорируются, я также пытался добавить команду Debugger();. Выполнение было приостановлено, но я не смог просмотреть свой код в Android Studio. Я также пытался использовать опцию «Присоединить к процессу» в IDE, но список «Выбрать процесс» пуст.

Можно ли выполнить интеграционный тест из Android Studio без необходимости вручную вводить команду в терминал? - Я бы предпочел нажать на кнопку, чем запомнить команду. Если щелкнуть правой кнопкой мыши по файлу моего интеграционного теста и выбрать «Выполнить», это не сработает.

Как я могу эффективно протестировать виджет изображения из Интеграционного теста? - Источник изображения устанавливается путем вызова Image.Asset () с вычисленным значением в качестве первого аргумента, поэтому я хочу подтвердить, что изображение отображается / аргумент является ожидаемым значением. Я предполагаю, что мне нужно использовать find.byType("Image") и как-то проверить результат для исходного значения?

1 Ответ

0 голосов
/ 11 декабря 2018

Ниже приведены шаги, которые я предпринял для настройки разработки интеграционных тестов с использованием инструментов Flutter, включая отладку:

  1. Настройка приложения для прослушивания через общий порт (в данном случае8888) Add ‘— observatory-port 8888’ to ‘Additional Arguments’ Добавить '- observatory-port 8888' к 'Дополнительные аргументы'

  2. Сконфигурировать интеграционный тест для подключения к тому же общему порту enter image description here Добавить 'VM_SERVICE_URL = http://127.0.0.1:8888/’ в' Переменные среды '

  3. Запустить приложение в режиме выполнения или в режиме отладки (требуется только один раз, с горячей перезагрузкой).при необходимости): enter image description here

  4. Запустите интеграционный тест в режиме выполнения или отладки (сколько угодно раз): enter image description here

Теперь вы можете добавлять точки останова в приложение и / или тестировать и просматривать исходный код и переменные в отладчике.

Ниже описано, как настроить Android Studio дляразработать интеграционные тесты более подробно.

Инструкции для быстрой разработки интеграционных тестоввозможность использования существующего инструмента

...