gpt4 book ai didi

testing - Flutter widget测试中如何使用List的find.byType匹配

转载 作者:IT王子 更新时间:2023-10-29 07:10:49 25 4
gpt4 key购买 nike

我想对 Stack 进行小部件测试。这是示例代码

final List<Widget> children = [];
final stack = Stack(children: children);
await tester.pumpWidget(Container(child: stack));
...

final stackFinder = find.byWidget(stack);
expect(stackFinder, findsOneWidget);

// children should be in Stack
final childrenFinder = find.descendant(
of: stackFinder,
matching: find.byType(children.runtimeType),
);
expect(childrenFinder, findsWidgets);

但出现错误:

Expected: at least one matching node in the widget tree
Actual: ?:<zero widgets with type "List<Widget>" that has ancestor(s) with type "Stack"

我尝试将匹配更改为 matching: find.byType([].runtimeType),matching: find.byType(List<Widget>),但它也不起作用。

你知道怎么解决吗?或者,如果不可能,您使用哪种方法来验证里面的 child 数量?

最佳答案

List<Widgets>不是一个小部件。因此,您无法创建将查找该类型的查找器。

您可以改为查找 Widget并检查您是否找到了您期望的正确数量的小部件。

关于testing - Flutter widget测试中如何使用List的find.byType匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57250924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com