import 'package:flutter/material.dart'; import 'package:flutter_riverpod/flutter_riverpod.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:shared_preferences/shared_preferences.dart'; import 'package:jiu_client/providers/update_provider.dart'; import 'package:jiu_client/screens/about/about_screen.dart'; import '../support/golden_harness.dart'; // 覆盖更新检查器,避免其后台 Timer 在 golden 结束后仍 pending。 class _FakeUpdateNotifier extends UpdateNotifier { @override Future build() async => null; } List _overrides() => [ updateProvider.overrideWith(() => _FakeUpdateNotifier()), appVersionProvider.overrideWith((ref) => 'v1.0.72'), ]; /// design-distill 阶段4:关于我们整屏 golden × 三主题(桌面 + 移动)。 /// 该屏正文已全 token 化;golden 锁住版本/帮助/关于卡片随主题换色。 /// 版本/更新 provider 在测试环境降级为默认值(无插件/无网络)。 /// 更新基准:flutter test --update-goldens test/golden/about_golden_test.dart void main() { TestWidgetsFlutterBinding.ensureInitialized(); SharedPreferences.setMockInitialValues({}); goldenAcrossThemes( 'about 整屏(桌面)', goldenPrefix: 'about', child: () => const Scaffold(body: AboutScreen()), overrides: _overrides, logical: const Size(1280, 1000), ); goldenAcrossThemes( 'about 整屏(移动)', goldenPrefix: 'about_mobile', child: () => const Scaffold(body: AboutScreen()), overrides: _overrides, logical: const Size(390, 1100), ); }