Функция findsNWidgets
Функция findsNWidgets возвращает Matcher для
expect
когда нужно ровно n совпадений.
Синтаксис
findsNWidgets(
int n,
)
Параметры
| Параметр | Описание |
|---|---|
n | Ожидаемое количество виджетов в Finder. |
Пример
Давайте найти два Text:
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
testWidgets('two texts', (tester) async {
await tester.pumpWidget(const MaterialApp(home: Scaffold(body: Column(children: [Text('abcde'), Text('12345')]))));
expect(find.byType(Text), findsNWidgets(2));
});
}
findsNWidgets(2) совпадёт с двумя Text.
Пример
Давайте проверить ноль:
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('zero icons', (tester) async {
await tester.pumpWidget(const Demo());
expect(find.byIcon(Icons.add), findsNWidgets(0));
});
}
findsNWidgets(0) эквивалентно findsNothing для иконки.
Смотрите также
-
константа
findsOneWidget,
случай n равно 1 -
константа
findsNothing,
случай n равно 0 -
функция
expect,
куда передают matcher -
метод
byType,
Finderдля подсчёта