flutter - 如何在 Flutter 移动应用项目中使用 testWidgets 测试画布
问题描述
我正在阅读有关如何使用 testWidgets 函数为颤振应用程序小部件构建测试的信息,例如创建新颤振项目时默认提供的这个测试:
// <project>/test/widget_test.dart
void main() {
testWidgets('Counter increments smoke test', (WidgetTester tester) async {
await tester.pumpWidget(CounterApp());
// validate counter starts at zero
expect(find.text('0'), findsOneWidget);
await tester.tap(find.byIcon(Icons.add));
await tester.pump();
expect(find.text('0'), findsNothing);
expect(find.text('1'), findsOneWidget);
}
}
但是如何测试画布以查看图纸/图案和段落是否正确显示?如果我用 绘制段落,finder 对象是否会找到 Text 小部件canvas.drawParagraph(...)
?我在docs中找不到有关此的信息。
解决方案
一般来说,测试 Canvas(无论采用何种技术)都应使用视觉测试(或视觉回归测试)来执行。
flutter_test
包提供matchesGoldenFile
了使其成为可能的功能。Flutter 的 Github 上有一个很好的教程可以指导您完成。
推荐阅读
- python - 正相关系数回归中的负系数
- python - Lanczos 算法的特征向量与复矩阵的 numpy.linal.eig() 不同
- security - Magento 2 应用补丁而不升级 Magento 版本
- python - 如何从多个子图中迭代地删除 X 轴标签
- python - 改变刻度 matplotlib 的频率
- python - Windows 上的 Python mecab 包导入错误“未定义”
- html - spring boot 从文件目录提供静态图片
- java - 在 Android 项目中使用 java.lang.ref.Cleaner
- typescript - TypeScript 类型错误和枚举对象道具的方法
- tableau-api - 在 Tableau 中从州到县地图的交互式钻取