flutter - 扑。如何测试集成测试没有溢出?
问题描述
我使用 flutter_driver 在 Flutter 中进行集成测试。在某些屏幕上,按钮上的文本会出现溢出错误。我想创建一个可以显示发生溢出的测试。因此,当我在一堆虚拟/真实设备上运行所有集成测试时,我可以看到 UI 没有正确定位。
解决方案
不需要为此进行集成测试。小部件测试会做。
由于小部件测试在启用断言的情况下运行,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>,
);
推荐阅读
- python - Elasticsearch:使用 python 加速两个索引的迭代
- python - pytorch分布式训练期间每个过程的准确性不同
- linux - 如何将脚本输出文件转换为文本?
- java - Spring boot参数更新模型数据库不起作用
- javascript - 是否可以从 Office.JS Excel 插件中启动现有的 JS 模块?
- python-3.x - 冻结某些权重 - TensorFlow 2
- python - 运行时错误:多处理(python 3.9)
- angular - 无法在 GCP 的负载均衡器云存储桶后端提供默认根对象
- itext - itext html 到 pdf 内容超出文档
- c++ - sched_setaffinity() 无法设置关联掩码