Flutter Pulse
532 subscribers
356 photos
783 links
На канале будут новости про flutter с сайтов, информация об обновлении пакетов, а также авторский контент.
Download Telegram
Имитация вызовов REST API
Привет, разработчики Flutter! 👋 Сегодня мы рассмотрим важный аспект тестирования приложений — имитацию вызовов REST API. 📱💻

Имитация вызовов API позволяет тестировать ваше приложение без фактического обращения к серверу, что делает процесс тестирования более быстрым и надежным. ⚡️

Как это работает?
1. Импортируйте пакет mocktail:
import 'package:mocktail/mocktail.dart';


2. Создайте класс HttpClientMock, который имитирует поведение HttpClient:
class HttpClientMock extends Mock implements HttpClient {}
final httpClientMock = HttpClientMock();


3. Используйте when для определения поведения имитированного клиента:
when(() => httpClientMock
.get(Uri.parse('myapi/...')))
.thenAnswer((_) async => Response('''
{"id":"testId","route":"myPage"}
''', 200));


Таким образом, вы можете легко тестировать ваше приложение, имитируя различные ответы сервера. 🌟

Оцените нашу новую рубрику и оставьте свои комментарии! 💬

Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileAppDevelopment #AppTesting #MockingAPI #FlutterTips
👍5
Базовый Dart (Часть №1) 🚀💻
Привет, программисты! 👋 Сегодня мы поговорим о базовом Dart и о том, что нужно знать до перехода к объектно-ориентированному программированию 🤔.
Узнаем, что такое runtime и compile-time, и как они отличаются 🕒. Также разберемся с типами данных и их важностью в программировании 📊.
Учимся работать с переменными: присваивание, арифметические операции, конкатенация и логические операции 📝. А также изучаем условные операторы if, else if и else, чтобы принимать решения в программах 🤖.
Узнайте о условных операторах, циклах и функциях в программировании 🔄. Эти инструменты помогут вам создавать гибкие и эффективные программы 🚀.
Функции в программировании - это блоки кода, которые выполняют определенные задачи и могут быть вызваны несколько раз 📈. Они помогают повторно использовать код, организовывать программы и облегчают отладку 🐜.
И, конечно, не забудем про Null Safety - мощный инструмент для безопасного кода 🛡. Узнайте, как избегать ошибок и писать более надежный код с помощью Null Safety 📚.
Читайте статью и начинайте свое путешествие в мир программирования 🌟!
#flutter #dart #flutterpulse #programmirovanie #nullsafety #basics #programming #development #coders #learndart #dartlang #flutterdev #mobileappdevelopment 🚀💻
Тестирование с навигацией GoRouter
Как запускать тесты с навигацией GoRouter

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

Пример теста:



testWidgets('условие защиты возвращает false => переход на ошибочный url',
(WidgetTester tester) async {
final app = MaterialApp.router(
routerConfig: GoRouter(
initialLocation: '/page1',
routes: [
GoRoute(
path: '/page1',
builder: (context, state) => Guard(
canActivate: future.value(false),
fallbackRoute: '/page2',
),
child: const FakePage(msg: 'page1'),
),
GoRoute(
path: '/page2',
builder: (context, state) => const FakePage(msg: 'page2'),
),
],
),
);

await tester.pumpWidget(app);
await tester.pumpAndSettle(const Duration(milliseconds: 100));

expect(find.text('page2'), findsOneWidget);
});



Дополнительный совет:
Вы можете использовать ваш app router, чтобы получить точно такое же поведение маршрутизации, как и в вашем приложении.
Таким образом, вы действительно можете проверить, работает ли навигация корректно.
Встройте создание GoRouter в функцию с параметром initialLocation, чтобы ваш тест мог начинаться прямо с того места, которое вам нужно.



GoRouter createRouter(final String initialLocation) {
return GoRouter(
initialLocation: initialLocation,
routes: [
GoRoute(
path: '/page1',
builder: (context, state) => const FakePage(msg: 'page1'),
),
GoRoute(
path: '/page2',
builder: (context, state) => const FakePage(msg: 'page2'),
),
],
);
}



Оцените новую рубрику по тестированию Flutter-приложений! 👍
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #MobileAppDevelopment #FlutterTips #Testing #GoRouter
2👍1