“如何修复”;“Firebase未初始化”;在烟雾测试中,即使在初始化它之后?
我正在制作一个颤振应用程序,我需要检查用户是否登录以选择应用程序的登录页。我已配置用户通过Firebase登录。使用“如何修复”;“Firebase未初始化”;在烟雾测试中,即使在初始化它之后?,firebase,flutter,Firebase,Flutter,我正在制作一个颤振应用程序,我需要检查用户是否登录以选择应用程序的登录页。我已配置用户通过Firebase登录。使用flatter run应用程序运行正常,但当我运行flatter test时,测试失败,原因是没有创建Firebase应用程序“[默认]”-调用Firebase.initializeApp() 飞镖 void main() { testWidgets('Counter increments smoke test', (WidgetTester tester) async {
flatter run
应用程序运行正常,但当我运行flatter test
时,测试失败,原因是没有创建Firebase应用程序“[默认]”-调用Firebase.initializeApp()
飞镖
void main() {
testWidgets('Counter increments smoke test', (WidgetTester tester) async {
await tester.pumpWidget(MyApp());
}
}
主飞镖
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
MyApp位于名为app.dart的文件中
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'MyApp',
routes: {
'/home': (context) => BottomNavigation(),
'/': (context) => (FirebaseAuth.instance.currentUser == null)? LoginPage():Home(),
});
}
}
你可以看到我的答案,它为我解决了这个测试问题。
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'MyApp',
routes: {
'/home': (context) => BottomNavigation(),
'/': (context) => (FirebaseAuth.instance.currentUser == null)? LoginPage():Home(),
});
}
}