5

So I am new in flutter and trying to perform widget testing on my app, but I am keep getting this weird error. below is my test file

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 is the error : enter image description here enter image description here

1 Answers1

4

You can't directly test Firebase because it requires platform configurations in order to initialize it properly. You need to mock Firebase in the test environment using mockito.

You may find this comment and tutorial video helpful.

Akora Ing. DKB
  • 1,025
  • 6
  • 11