Flutter Widget测试与NetworkImage

Flutter Widget测试与NetworkImage,第1张

Flutter Widget测试与NetworkImage

在小部件测试中,默认的HTTP客户端替换为始终返回400s的客户端。在flutter_markdown存储库中以及其他几个地方,都有一个有关如何执行此 *** 作的示例。我曾经将其复制并粘贴到每个项目中,但是我做了足够多次以至于变得很无聊。

(我自己)现在有一个名为“
image_test_utils”的库
。您可以使用一种

provideMockedNetworkImages
方法包装小部件测试,该方法将模拟的HTTP客户端替换为始终返回透明图像的HTTP客户端。这又使您的测试通过。

pubspec.yaml:

dev_dependencies:  image_test_utils: ^1.0.0

my_image_test.dart:

import 'package:flutter/material.dart';import 'package:flutter_test/flutter_test.dart';import 'package:image_test_utils/image_test_utils.dart';void main() {  testWidgets('my image test', (WidgetTester tester) async {    provideMockedNetworkImages(() async {      /// Now we can pump NetworkImages without crashing our tests. Yay!      await tester.pumpWidget(        MaterialApp(          home: Image.network('https://example.com/image.png'),        ),      );      /// No crashes.    });  });}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4930643.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-12
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存