【问题标题】:How do I initialize Firebase App in Flutter widget testing如何在 Flutter 小部件测试中初始化 Firebase App
【发布时间】:2020-10-06 19:10:25
【问题描述】:

所以我是 Flutter 的新手,并试图在我的应用程序上执行小部件测试,但我不断收到这个奇怪的错误。 下面是我的测试文件

import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:folk_team_app/provider/auth_provider.dart';
import 'package:folk_team_app/screens/phone_login.dart';
import 'package:provider/provider.dart';

void main() async {
  TestWidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();

  Widget loginScreen = ChangeNotifierProvider<AuthProvider>(
      create: (context) => AuthProvider(),
      builder: (context, child) {
        return MaterialApp(
          home: PhoneLogineScreen(),
        );
      });

  testWidgets('Phone Authetication Page', (WidgetTester tester) async {
    // Build our app and trigger a frame.

    await tester.pumpWidget(loginScreen);
    await tester.pump(const Duration(seconds: 10));
    

    final titleText = find.text('Screen Title');

    // Verify that our counter starts at 0.
    expect(titleTextt, findsOneWidget);
  });
}

这是错误:

【问题讨论】:

  • 请不要添加截图,只需将日志/错误复制为代码
  • 你可以看到我的回答here为我解决了这个问题。

标签: flutter dart


【解决方案1】:

您无法直接测试 Firebase,因为它需要平台配置才能正确初始化。 您需要在测试环境中使用 mockito 模拟 Firebase。

comment 和 tutorial video 可能会对您有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-10-04
    • 2021-12-01
    • 1970-01-01
    • 2022-10-16
    • 2022-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多