Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
974 of 1024 menu
◀ ▶

Метод pump

Метод pump класса WidgetTester рисует один кадр. Если передана длительность, часы теста сдвигаются на неё, и анимация проходит этот кусок.

Синтаксис

await tester.pump([Duration duration])

Параметры

ПараметрОписание
durationСдвиг времени, необязательный.

Пример

Давайте обновить кадр после tap:

import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { testWidgets('p', (WidgetTester t) async { var v = 0; await t.pumpWidget( MaterialApp( home: ElevatedButton( onPressed: () => v = 1, child: const Text('abcde'), ), ), ); await t.tap(find.text('abcde')); await t.pump(); expect(v, 1); }); }

pump применит onPressed.

Пример

Давайте pump с duration:

import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; class Demo extends StatelessWidget { const Demo({super.key}); @override Widget build(BuildContext context) { return const Scaffold( body: Center( child: Text('abcde'), ), ); } } void main() { testWidgets('pd', (WidgetTester t) async { await t.pumpWidget(const Demo()); await t.pump(const Duration(milliseconds: 100)); expect(find.text('abcde'), findsOneWidget); }); }

Текст останется на экране.

Смотрите также

  • метод pumpAndSettle,
    много кадров
  • метод tap,
    перед pump
  • метод pumpWidget,
    старт дерева
  • функция expect,
    assert
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить