Flutter小部件测试如何模拟网络图片

6
我正在尝试测试我的小部件,但是在我的网络图像上一直收到400错误。这是预期行为,因为Flutter不希望您在测试中进行http请求。但由于此行为,我的小部件测试失败了。它们其中有一个image.network(url)。

我尝试使用image_test_utils包,但很快发现该包自2018年以来未得到维护。所以我转而使用Network Image Mock包。这个包得到了维护,但不起作用:(不是我的问题,但相同)https://github.com/stelynx/network_image_mock/issues/6

现在我想尝试使用Flutter自己制作的东西:我添加了这个:https://github.com/flutter/flutter_markdown/blob/a2fa53b7a29dc58b6f26b53e23a6f5a8d283dd66/test/flutter_markdown_test.dart#L506-L548

但我不知道如何使用它。
1个回答

0

非常抱歉回复晚了,我找到了这个dependency,它与mockito完美配合。

pubspec.yaml:

dev_dependencies:
   network_image_mock: ^2.0.1

test.dart:

mockNetworkImagesFor(
    () async {
      return tester.pumpWidget(
        MaterialApp(
          theme: lightTheme,
          home: Container(
            alignment: Alignment.center,
            width: getScreenWidth(),
            height: getScreenHeight(),
            child: //widget here
          ),
        ),
      );
    },
  );

1
你好,感谢你的回答。我已经不再使用原始代码了,但我希望未来的人们能够从中受益。 - SilkeNL

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接