Как тестировать Flutter-приложения?| Flutter — обзор для тестировщиков

YOUTUBE · 18.11.2025 16:23

Ключевые темы и таймкоды

Введение

0:00
  • Видео представляет обзор мобильной разработки на Flutter, кросс-платформенном языке, который позволяет писать код для Android и iOS одновременно.
  • Flutter использует язык Dart, который является улучшенным вариантом Java.

Преимущества Flutter

0:48
  • Flutter позволяет писать код для двух платформ в одной кодовой базе, что упрощает разработку и снижает стоимость.
  • Flutter поддерживает 60 кадров в секунду и 120 кадров в секунду на устройствах с частотой обновления 120 Гц.
  • Flutter имеет открытую документацию с примерами, что облегчает понимание и использование.

Тестирование Flutter

5:05
  • Тестирование приложений на Flutter требует знания языка Dart и понимания работы платформы.
  • Тестирование кода Flutter может быть сложным для новичков, но с помощью DartPad можно быстро познакомиться с языком и платформой.

Заключение

10:47
  • Видео завершается без вопросов от отдела тестирования.

Сборка приложений

11:26
  • В видео объясняется, как собираются приложения на Flutter.
  • Сборка приложения включает в себя три части: виртуальную машину Dart, движок и внутренний слой, который взаимодействует с платформой.

Виджеты

15:57
  • Виджеты являются краеугольным камнем Flutter, так как все в приложении построено на виджетах.
  • Виджеты описывают, как должно выглядеть их представление с учетом текущей конфигурации и состояния.

Использование виджетов

18:31
  • Виджеты используются для отображения интерфейса, хранения и доставки данных, а также обработки запросов.
  • Примеры использования виджетов включают в себя отображение текста, хранение данных и обработку запросов.

Тестирование приложений

20:28
  • В видео упоминается термин "юнит-тестирование", который относится к тестированию отдельных классов или функций.
  • Также упоминается термин "виджет-тестирование", который относится к тестированию виджетов.
  • В заключение, видео обсуждает третий вид тестирования - интеграционное тестирование.

Введение

21:23
  • Видео начинается с обсуждения юнитов, которые являются отдельным классом и функцией в Dart. Юниты позволяют сохранять ответственность за определенные действия и делают код более переиспользуемым.
  • Далее обсуждается архитектура приложения на Flutter, которая полностью основана на юнитах и виджетах.

Бизнес-логика и хранение данных

25:05
  • В видео объясняется, что бизнес-логика и хранение данных должны быть разделены, чтобы обеспечить разделение отображения и взаимодействия с сервером или базой данных.
  • Обсуждаются различные способы хранения данных, такие как использование платформы, провайдера, сет-стейта и других.

Экран и навигация

30:24
  • Экран в Flutter - это просто виджет, который может быть передан через специальный виджет-навигатор.
  • Обсуждается два подхода к навигации: императивный и декларативный.
  • Навигация поддерживается с использованием материала пейдж роуд и других методов.

Обсуждение использования Flutter

34:40
  • В видео обсуждается использование Flutter для разработки приложений.
  • Скафолд - это виджет, который позволяет быстро создать экран с виджетами и кастомизировать его.

Проблемы с версиями пакетов и нативными функциями

38:45
  • Проблемы с версиями пакетов могут вызывать сложности при разработке и взаимодействии между версиями.
  • Нативные функции, такие как определение заряда батареи и тач-фейс, пока не доступны в Flutter.

Автотесты для нативы и Flutter

42:33
  • Автотесты для нативы не были написаны, но для Flutter есть юнит-тесты.
  • Тесты для iOS и Android могут быть написаны на Swift и Java соответственно.

Заключение

43:31
  • В заключение, видео обсуждает практику написания тестов на проектах и сложности, связанные с версиями пакетов и нативными функциями.

Обсуждение тестирования во Flutter

44:07
  • В видео обсуждается проблема тестирования во Flutter, где не всегда можно найти нормальные тесты и поддерживать их.
  • В мобильной разработке редко встречаются сложные бизнес-логики, поэтому тестирование может быть сложным.

Пример интеграционного тестирования

45:01
  • В видео демонстрируется пример интеграционного тестирования с использованием Flutter Driver.
  • Интеграционное тестирование использует реальные сервисы и данные, что делает его более сложным и интересным.

Использование Flutter Driver для тестирования

46:57
  • В видео объясняется, как использовать Flutter Driver для тестирования, включая использование моков и реальных сервисов.
  • Демонстрируется, как можно запустить тесты на облачной машине или внедрить их в свой код.

Демонстрация работы Flutter Driver

49:25
  • В видео показывается, как можно использовать Flutter Driver для просмотра результатов тестирования и анализа ошибок.
  • Демонстрируется, как можно посмотреть информацию о загрузке, производительности и других аспектах работы приложения.