import 'package:asciineverdie/src/app.dart'; import 'package:flutter_test/flutter_test.dart'; import 'helpers/test_setup.dart'; void main() { // SharedPreferences 모킹 setUpAll(() { TestSetup.mockSharedPreferences(); }); // 각 테스트 후 싱글톤 서비스 정리 (타이머 누수 방지) tearDown(() { TestSetup.resetAllServices(); }); testWidgets('App launches and shows splash screen', (tester) async { await tester.pumpWidget(const AskiiNeverDieApp()); // AudioService 초기화 타이머들이 완료될 시간 제공 // - init() 내 Future.delayed 200ms (line 130) // - _initSfxPools() 내 Future.delayed 200ms (line 201) // - 재시도 로직의 추가 지연 가능성 await tester.pump(const Duration(seconds: 1)); // 앱이 정상적으로 렌더링되는지 확인 (크래시 없음) expect(find.byType(AskiiNeverDieApp), findsOneWidget); }); }