互联网图像不被保存在Flutter测试,是给这个错误,我试图使用从另一个问题的答案,但他们不为我工作
flutter:00:00 +0:主屏幕[E] Flutter :测试失败。参见上面的异常日志。测试描述为:主屏幕抖动:扑动:警告:此套件中至少有一个测试创建了一个HttpClient。当运行一个使用TestWidgetsFlutterBinding的测试套件时,所有的HTTP请求都将返回状态码400,实际上不会发出网络请求。任何期望真实的网络连接和状态代码的测试都将失败。若要测试需要HttpClient的代码,请为被测代码提供您自己的HttpClient实现,以便您的测试可以一致地为被测代码提供可测试的响应。flutter:00:00 +0 -1:一些测试失败了。
HOMEVIEW
class HomeView extends StatefulWidget {
const HomeView({super.key});
@override
State<HomeView> createState() => _HomeViewState();
}
class _HomeViewState extends State<HomeView> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: const CsAppBar(
title: 'Home',
),
body: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Image.network(
'https://thecolor.blog/wp-content/uploads/2021/10/GIF-1.gif',
width: double.maxFinite,
height: 400,
),
],
),
);
}
}
HOMEVIEWTEST
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:network_image_mock/network_image_mock.dart';
import 'package:para_testes/views/home/home_view.dart';
void main(){
testWidgets('Home screen', (tester) async {
await mockNetworkImagesFor(() => _createWidget(tester));
final image = find.byWidgetPredicate((widget) => widget is Image);
expect(image, findsOneWidget);
});
}
Future<void> _createWidget(WidgetTester tester) async{
await tester.pumpWidget(const MaterialApp(home: HomeView()));
await tester.pump();
}
1条答案
按热度按时间czq61nw11#
我猜你不需要在小部件测试中测试Http连接。只是用
在你的测试开始。您将确保Image小部件呈现在页面上。
此外,使用上面的代码片段时,您不需要
network_image_mock
包