Одна из замечательных особенностей Github Actions заключается в том, насколько легко вы можете настроить непрерывное интеграционное тестирование для ваших приложений флаттера. В этом посте мы рассмотрим базовую реализацию рабочего процесса CI во флаттере.

Шаг 1. Создайте несколько тестов

Очевидно, что первым шагом в тестировании CI является написание нескольких тестов! Написание реальных тестов сильно зависит от предметной области и выходит за рамки этой статьи, но вы можете ознакомиться с документацией, чтобы узнать, как это работает. Или, если вы заинтересованы в использовании новой библиотеки Integration_test, вы можете посмотреть наш пост об этом здесь.

А пока давайте предположим, что вы используете устаревший тестер виджетов (не Integration_test). У вас должен быть хотя бы один файл в папке /test с суффиксом _test.dart, который выглядит примерно так:

Подготовив тесты, вы готовы настроить рабочий процесс CI.

Шаг 2. Создайте файл .yaml для настройки рабочего процесса.

В своем репозитории создайте файл внутри .github/workflows с именемtests.yaml со следующим:

Некоторые примечания к приведенному выше сценарию:

Как только этот файл будет добавлен, он должен начать работать немедленно. Перейдите на вкладку «Действия» на github.com, чтобы просмотреть ход выполнения:

Через пару минут ваш тест должен быть завершен!

Шаг 3. Отметьте результаты значком

Последний шаг — четко показать, прошли ли ваши тесты или нет. Один из способов сделать это — встроить значки рабочего процесса в верхнюю часть файла README.md:

Чтобы добавить значок, просто добавьте следующее в начало файла readme:

Обратите внимание, что поле test-my-app в ссылке на значок соответствует полю name: test-my-app в самом файле рабочего процесса, благодаря чему значок узнает, к какому тесту он привязан. Имя файла .yaml не имеет значения.

При этом у вас должен быть работающий рабочий процесс тестирования CI. Поздравляю!

Использование пакета Integration_testing

Использование новой библиотеки Integration_test немного сложно, так как для нее требуется целевое устройство, но в настоящее время она нестабильна для Linux или веб-целей.

Тестирование с Android или ios требует симуляторов, которые требуют больше усилий для настройки и медленного выполнения. Windows и macOs являются жизнеспособными вариантами, но минуты сборки macOs в два раза дороже, чем Windows. Основываясь на всем этом, мы пришли к выводу, что тестирование Windows — лучший вариант на данный момент.

Для тестирования с рабочим столом Windows необходимо внести несколько изменений в файл рабочего процесса:

  • измените целевую систему сборки на Windows-Latest
  • запустите конфиг — команда enable-windows-desktop
  • добавить флаг -d windows
  • передать местоположение вашего тестового файла

Готово! Теперь ваши тесты будут запускаться при каждом нажатии. Удачного кодирования!

Первоначально опубликовано на https://www.epicprogrammer.com.