在 Flutter 中使用 network_image_mock 包进行图像测试
Posted
技术标签:
【中文标题】在 Flutter 中使用 network_image_mock 包进行图像测试【英文标题】:Image testing with network_image_mock package in Flutter 【发布时间】:2021-12-27 08:03:27 【问题描述】:我正在尝试测试具有 Image.network
子级的小部件。
提供以下日志。
══╡ EXCEPTION CAUGHT BY IMAGE RESOURCE SERVICE ╞════════════════════════════════════════════════════
The following _CastError was thrown resolving an image codec:
type 'Null' is not a subtype of type 'List<int>' in type cast
When the exception was thrown, this was the stack:
#1 _MockHttpResponse.drain (package:flutter_test/src/_binding_io.dart:364:22)
#2 NetworkImage._loadAsync (package:flutter/src/painting/_network_image_io.dart:99:24)
<asynchronous suspension>
<asynchronous suspension>
(elided 2 frames from dart:async and package:stack_trace)
我的测试:
testWidgets('My new test', (WidgetTester tester) async
mockNetworkImagesFor(() async
await tester.pumpWidget(
MaterialApp(
home: Scaffold(
body: ScreenWidget(),
),
),
);
final myImageFinder = find.byKey(const Key('TheImageWidget'));
expect(myImageFinder, findsOneWidget);
);
);
在上面的代码示例中,ScreenWidget
有一个子代Image.network
。
有什么想法吗?
【问题讨论】:
【参考方案1】:你的小部件没有返回,所以你调用它的列表仍然是空的并且颤动不喜欢它。
【讨论】:
以上是关于在 Flutter 中使用 network_image_mock 包进行图像测试的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 flutter_webview 插件在 Flutter 中启用位置?
在flutter中使用Chopper网络库和flutter_bloc库
Flutter : 在 Flutter web 中使用 Froala-editor