[英]Flutter. How to test that there is no overflows with integration tests?
我使用flutter_driver在Flutter中进行集成测试。 在某些屏幕上,按钮上的文字会出现溢出错误 我想创建一个可以显示溢出发生的测试。 因此,当我在一堆虚拟/真实设备上运行所有集成测试时,我可以看到UI未正确定位。
没有必要进行集成测试。 小部件测试会做。
由于Widget测试在启用断言的情况下运行,因此使用将溢出的窗口小部件调用tester.pumpWidget
将引发异常,从而进行失败的测试。
例如,以下测试将失败:
testWidgets('overflow', (tester) async {
await tester.pumpWidget(Row(
textDirection: TextDirection.ltr,
children: <Widget>[
// too big to fit in the default size of the row
Container(width: 99999),
],
));
});
请注意,可以自定义窗口小部件测试的屏幕大小。 请参阅如何在不同的屏幕尺寸上测试Flutter小部件?
或者,我们可以将测试的小部件包装到Container
如下所示:
await tester.pumpWidget(Container(
alignment: Alignment.center,
width: <my screen widget>,
height: <my screen height>,
child: <the widget which I want to test overflow on>,
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.