原文地址:Testing tidbit #2 - Why does using Image.network crash widget tests?
在没有真机和模拟器的时候,使用widget tests来测试是很有用的。而且test中的自动点击、滑动等的模拟,可以为你节省很多时间,因为等App运行起来,你可能需要盯着屏幕上的Waiting for emulator to start...
好几分钟。
但是,当你在widget tests中使用了Image.network
控件,你可能就没这么快乐了。
一段非常简单的代码:
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
void main() {
testWidgets('my image test', (WidgetTester tester) async {
await tester.pumpWidget(
MaterialApp(
home: Image.network('https://example.com/image.png'),
),
);
/// Crash!
});
}
当你运行这段测试代码的时候,它会crash。无论你给的url是否正确,都是同样的结果。你应该会看到类似的报错信息:
══╡ EXCEPTION CAUGHT BY IMAGE