Нативные автотесты кроссплатформенного флаттер. Опыт 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 автора Верстка для новичков
Видео Нативные автотесты кроссплатформенного флаттер. Опыт Surf автора Верстка для новичков
Информация
27 ноября 2023 г. 17:06:18
00:51:57
Похожие видео