Загрузка...

Нативные автотесты кроссплатформенного флаттер. Опыт Surf

Компания Surf занимается разработкой под Flutter с 2018 года. Автотестированием под Flutter мы начали заниматься немногим позже. Вы узнаете, как устроен процесс автотестирования на Flutter в Surf. Расскажем, как мы познакомились с Flutter и автотестами на нём, о видах тестов на Flutter, кто и как пишет их у нас, а главное — почему именно так. Коснёмся вопроса стратегии: зачем и для чего нужны те или иные виды автотестов, какие инструменты будут неплохим дополнением. Когда мы начали знакомство с автотестами на Flutter, еще не существовало пакета integration_test. Он позволяет почти одновременно и без проблем работать с widget- и e2e-тестами. Мы стали искать пути решения, чтобы облегчить себе жизнь при написании таких тестов. Мы условно объединили виджет и e2e, добавив уровень абстракции для использования одного обращения к двум типам тестов. Стали использовать переиспользуемые компоненты, которые помогали в реализации как e2e, так и виджет-тестов. А также подключили gherkin. Теперь… Flutter расширили возможности работы с тестами: предоставили доступ к простой работе e2e и виджет с помощью пакета integration_test. Мы переключились на него и всё так же продолжаем использовать переиспользуемые компоненты и gherkin. В конце обязательно каснёмся особенностей, которые успели заметить за время работы с автотестированием на Flutter. Отдельное спасибо за со-авторство и тестовый проект моему коллеге Владу Воронину! ? Flutter Dev Podcast → https://soundcloud.com/flutterdevpodcast ? flutter_gherkin → https://pub.dev/packages/flutter_gherkin ? ogurets_flutter → https://pub.dev/packages/ogurets_flutter ? pump() → https://api.flutter.dev/flutter/flutter_test/WidgetTester/pump.html ? pumpAndSettle() → https://api.flutter.dev/flutter/flutter_test/WidgetTester/pumpAndSettle.html ? Cucumber HTML Reporter → https://www.npmjs.com/package/cucumber-html-reporter ? Тестовый проект → http://github.com/vrnvorona/sample_app ? Статья на Хабр «Тестирование Flutter-приложений: инструменты, преимущества, проблемы» → https://habr.com/ru/company/surfstudio/blog/517574/ ? Статья на Хабр «Структура, содержание и процесс написания компонентных проверок» → https://habr.com/ru/company/surfstudio/blog/575360/ ? При падении одного теста, падают все без специальной обработки, проблема по этому вопросу → https://github.com/flutter/flutter/issues/75216 ? Ссылка на слайды (через режим публикации) → https://drive.google.com/file/d/1ylmw5AddGyipXhjdA-EvCWO8N_m8cI_1/view?usp=sharing Подписывайся на Surf: ?♀️ Telegram-канал → https://t.me/surf_tech ?♀️ Telegram-канал Flutter Team → https://t.me/surf_flutter ?♀️ VK → https://vk.com/surfstudio ?♀️ Twitter → https://twitter.com/SurfGroupLLC ?♀️ Хабр → https://habr.com/ru/companies/surfstudio ?♀️ VC.ru → https://vc.ru/u/439456-surf ?♀️ GitHub → https://github.com/surfstudio

Видео Нативные автотесты кроссплатформенного флаттер. Опыт Surf автора Верстка для новичков
Страницу в закладки Мои закладки
Все заметки Новая заметка Страницу в заметки