Метод 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