Функция testWidgets
Функция testWidgets из flutter_test создаёт
WidgetTester
и прогоняет асинхронный сценарий.
Синтаксис
testWidgets(
String description,
WidgetTesterCallback callback,
)
Параметры
| Параметр | Описание |
|---|---|
description | Имя теста в отчёте. |
callback | Функция (WidgetTester tester) async. |
Пример
Давайте проверим текст на экране:
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) => const Scaffold(body: Center(child: Text('abcde')));
}
void main() {
testWidgets('shows abcde', (tester) async {
await tester.pumpWidget(const Demo());
expect(find.text('abcde'), findsOneWidget);
});
}
Тест пройдёт, find.text найдёт один Text.
Пример
Давайте добавить второй expect:
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) => const Scaffold(body: Center(child: Text('abcde')));
}
void main() {
testWidgets('no 12345', (tester) async {
await tester.pumpWidget(const Demo());
expect(find.text('12345'), findsNothing);
});
}
findsNothing подтвердит отсутствие '12345'.
Смотрите также
-
класс
WidgetTester,
управление кадром -
функция
expect,
сравнение -
класс
CommonFinders,
find.text -
константа
findsOneWidget,
матчер одного виджета