我正在尝试测试容器的宽度和高度。我正在尝试做这样的事情:
expect(
find.byWidgetPredicate((Widget widget) =>
widget is Container && widget.width == 48),
findsOneWidget);
但。不幸的是,如果我键入widget.width,它会说没有为类 Container 定义 getter 宽度。
我正在尝试测试容器的宽度和高度。我正在尝试做这样的事情:
expect(
find.byWidgetPredicate((Widget widget) =>
widget is Container && widget.width == 48),
findsOneWidget);
但。不幸的是,如果我键入widget.width,它会说没有为类 Container 定义 getter 宽度。
中没有这样的属性Container。相反,它拥有 aBoxConstraints的最小和最大宽度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,
);
尝试:
widget.constraints.widthConstraints();