在提供商的使用者小部件内部无法在测试中找到小部件

问题描述 投票:2回答:1

我为我的小部件创建了以下Flutter测试

testWidgets("", (WidgetTester tester) async {
      await tester.pumpWidget(
        ChangeNotifierProvider<SettingsViewProvider>(
          create: (context) => SettingsViewProvider(),
          child: MaterialApp(
            localizationsDelegates: [S.delegate],
            home: SettingsScreen(),
          ),
        ),
      );

      final textFormFieldFinder = find.byElementType(TextFormField);
      await tester.pump();
      expect(textFormFieldFinder, findsNWidgets(3));
    });

[小部件是一个有状态的小部件,它使用ChangeNotifierProvider,并且使用者将三个“ TextFormFields”的列表围起来。

Consumer<State>(
   builder: (context, value, child)=> Column(
       children: [TextFormField(...), TextFormField(...), TextFormField(...)];
   )
)

预期:窗口小部件树中正好有3个匹配的节点

实际:_ElementTypeFinder:

哪个:表示什么都没找到,但有人希望

很遗憾,我收到在小部件树中找不到任何小部件。

flutter flutter-test flutter-provider
1个回答
0
投票
而不是:
© www.soinside.com 2019 - 2024. All rights reserved.