[英]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.