import 'package:ducafe_ui_core/ducafe_ui_core.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:forui/forui.dart'; import 'package:get/get.dart'; import 'package:pj_supermarket_cloud/common/index.dart'; import 'package:pj_supermarket_cloud/pages/root/load/controller.dart'; import 'package:pj_supermarket_cloud/pages/root/load/view.dart'; void main() { testWidgets('启动步骤在紧凑窗口中可滚动且不会垂直溢出', (tester) async { // 与问题日志中的 1280×720 运行窗口一致,此时步骤区只有约 264px 高。 await tester.binding.setSurfaceSize(const Size(1280, 720)); addTearDown(() async { await tester.binding.setSurfaceSize(null); Get.reset(); }); Get.put(_TestLoadController(AppControl())); await tester.pumpWidget( ScreenUtilInit( designSize: const Size(1920, 1080), minTextAdapt: true, splitScreenMode: true, builder: (_, __) => MaterialApp( home: FTheme( data: FThemes.zinc.light, child: const LoadPage(), ), ), ), ); await tester.pump(); expect(find.byType(ListView), findsOneWidget); expect(find.text('加载终端配置'), findsOneWidget); final scrollable = tester.state(find.byType(Scrollable)); expect(scrollable.position.maxScrollExtent, greaterThan(0)); expect(tester.takeException(), isNull); }); } class _TestLoadController extends LoadController { _TestLoadController(AppControl appControl) : super(appControl: appControl); @override void onReady() {} @override Future retry() async {} }