我正在尝试测试容器的宽度和高度。我正在尝试做这样的事情:
expect(
find.byWidgetPredicate((Widget widget) =>
widget is Container && widget.width == 48),
findsOneWidget);
但是。不幸的是,如果我输入widget.width
,它将说未为Container类定义吸气宽度。
答案 0 :(得分:1)
尝试:
widget.constraints.widthConstraints();
答案 1 :(得分:1)
Container
中没有这样的属性。相反,它包含一个BoxConstraints
,其最小和最大宽度为Container
。假设minWidth
和maxWidth
相等,请考虑使用:
expect(
find.byWidgetPredicate((Widget widget) {
if (widget is Container) {
BoxConstraints width = widget.constraints.widthConstraints();
return (width.minWidth == width.maxWidth) && (width.minWidth == 48);
} else {
return false;
}
}),
findsOneWidget,
);
高度:
expect(
find.byWidgetPredicate((Widget widget) {
if (widget is Container) {
BoxConstraints height = widget.constraints.heightConstraints();
return (height.minHeight == height.maxHeight) && (height.minHeight == 48);
} else {
return false;
}
}),
findsOneWidget,
);