如何在 Flutter 移动应用项目中使用 testWidgets 测试画布
Posted
技术标签:
【中文标题】如何在 Flutter 移动应用项目中使用 testWidgets 测试画布【英文标题】:How to test canvas with testWidgets in a flutter mobile app project 【发布时间】:2020-11-17 11:23:04 【问题描述】:我正在阅读有关如何使用 testWidgets 函数为 Flutter 应用小部件构建测试的信息,例如在创建新的 Flutter 项目时默认进行的以下测试:
// <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);
但是如何测试画布以查看绘图/图案和段落是否正确显示?如果我用canvas.drawParagraph(...)
绘制一个段落,finder 对象会找到一个文本小部件吗?我在docs 中找不到这方面的信息。
【问题讨论】:
您可能想研究使用matchesGoldenFile
来比较屏幕截图。
【参考方案1】:
一般情况下(无论采用何种技术)测试 Canvas 都应使用可视化测试(或可视化回归测试)。
flutter_test
包提供了matchesGoldenFile
功能,使之成为可能。有一个很好的 tutorial on Flutter's Github 将指导您完成。
【讨论】:
以上是关于如何在 Flutter 移动应用项目中使用 testWidgets 测试画布的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Flutter 移动应用中将 Azure AD 用户登录到 Firebase?