[英]Flutter Firebase: testing gets hung up on initalizeApp()
I have a widget that I am trying to test which relies on a Firestore Repository.我有一个我正在尝试测试的小部件,它依赖于 Firestore 存储库。 The code is as follows:
代码如下:
void main() {
group('AdminVerificationScreen', () {
testWidgets('renders correctly', (WidgetTester tester) async {
WidgetsFlutterBinding.ensureInitialized();
//pump the widget using a bloc provider and a multirepository provider
await Firebase.initializeApp(
options: DefaultFirebaseOptions.currentPlatform,
);
await tester.pumpWidget(
MultiRepositoryProvider(
providers: [
RepositoryProvider(
create: (_) => FirestoreRepository(),
),
RepositoryProvider(
create: (context) => TypesenseRepository(),
),
],
child: MultiBlocProvider(
providers: [
BlocProvider<AdminVerificationBloc>(
create: (context) => AdminVerificationBloc(
databaseRepository: context.read<FirestoreRepository>(),
typesenseRepository: context.read<TypesenseRepository>()),
),
],
child: MaterialApp(
home: AdminVerificationScreen(),
),
),
),
);
//expect the widget to be found
expect(find.byType(AdminVerificationScreen), findsOneWidget);
});
});
}
The issue is at the intialize app.问题出在初始化应用程序上。 It gets hung up and will not proceed, but removing it gives the error:
它被挂断并且不会继续,但是删除它会出现错误:
[core/no-app] No Firebase App '[DEFAULT]' has been created - call Firebase.initializeApp()
Anyone see what im doing wrong?有人看到我做错了什么吗?
Thanks!谢谢!
It looks like you're missing async
after you call main()
, so you're not giving Firebase a chance to complete its initialization.看起来您在调用
main()
后缺少async
,因此您没有给 Firebase 完成其初始化的机会。
Try this instead:试试这个:
Future<void> main() async {
...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.