widget_test.dart 1012 Bytes
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:get/get.dart';
import 'package:shared_preferences/shared_preferences.dart';

import 'package:doublefeel_flutter/app/bootstrap/app_bootstrap.dart';
import 'package:doublefeel_flutter/app/double_feel_app.dart';

void main() {
  setUp(() {
    Get.testMode = true;
  });

  tearDown(Get.reset);

  testWidgets('App starts at splash then routes to login without token',
      (WidgetTester tester) async {
    SharedPreferences.setMockInitialValues({});
    await AppBootstrap.init();
    await tester.pumpWidget(const DoubleFeelApp());
    expect(find.byType(CircularProgressIndicator), findsOneWidget);

    await tester.pump();
    await tester.pump(const Duration(milliseconds: 800));
    await tester.pump();
    await tester.pump(const Duration(milliseconds: 400));

    expect(find.text('欢迎使用DoubleFeel'), findsOneWidget);
    expect(find.text('手机号登录/注册'), findsOneWidget);
  });
}