- TestSetup 헬퍼 사용으로 SharedPreferences 모킹 통합 - AudioService 타이머 완료를 위한 1초 pump 추가 - tearDown에서 싱글톤 서비스 정리로 타이머 누수 방지
30 lines
926 B
Dart
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);
|
|
});
|
|
}
|