Files
asciinevrdie/test/widget_test.dart
JiWoong Sul e37a2ddfa8 fix(test): widget_test 타이머 이슈 수정
- TestSetup 헬퍼 사용으로 SharedPreferences 모킹 통합
- AudioService 타이머 완료를 위한 1초 pump 추가
- tearDown에서 싱글톤 서비스 정리로 타이머 누수 방지
2026-01-21 18:43:26 +09:00

30 lines
926 B
Dart

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);
});
}