Метод drag
Метод drag класса WidgetTester
тащит виджет на переданный сдвиг.
Сдвиг это точка Offset: горизонталь и вертикаль.
Синтаксис
await tester.drag(finder, offset)
Параметры
| Параметр | Описание |
|---|---|
finder | Виджет для drag. |
offset | Смещение Offset. |
Пример
Давайте drag ListView:
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
void main()
{
testWidgets('drag', (WidgetTester t) async
{
await t.pumpWidget(
MaterialApp(
home: Scaffold(
body: ListView(
children: List.generate(
30,
(i) => Text('item $i'),
),
),
),
),
);
await t.drag(find.text('item 0'), const Offset(0, -200));
await t.pump();
expect(find.text('item 5'), findsOneWidget);
});
}
drag прокрутит список.
Пример
Давайте drag по оси X:
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
void main()
{
testWidgets('dragx', (WidgetTester t) async
{
await t.pumpWidget(
const MaterialApp(
home: Scaffold(
body: Center(
child: Text('abcde'),
),
),
),
);
await t.drag(find.text('abcde'), const Offset(10, 0));
expect(find.text('abcde'), findsOneWidget);
});
}
Текст останется видимым.
Смотрите также
-
метод
ensureVisible,
прокрутка -
метод
tap,
другой жест -
метод
pump,
послеdrag -
метод
text,
Finder