簡體   English   中英

Flutter Firebase:測試在 initalizeApp() 上掛起

[英]Flutter Firebase: testing gets hung up on initalizeApp()

我有一個我正在嘗試測試的小部件,它依賴於 Firestore 存儲庫。 代碼如下:

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);
    });
  });
}

問題出在初始化應用程序上。 它被掛斷並且不會繼續,但是刪除它會出現錯誤:

[core/no-app] No Firebase App '[DEFAULT]' has been created - call Firebase.initializeApp()

有人看到我做錯了什么嗎?

謝謝!

看起來您在調用main()后缺少async ,因此您沒有給 Firebase 完成其初始化的機會。

試試這個:

Future<void> main() async {
...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM