test(helpers): 테스트 헬퍼 및 Fake 스토리지 추가
- TestSetup 클래스 추가 (SharedPreferences 모킹, 싱글톤 정리) - FakeHallOfFameStorage: 메모리 기반 명예의 전당 저장소 - FakeStatisticsStorage: 메모리 기반 통계 저장소 - path_provider 의존성 없이 테스트 가능하도록 개선
This commit is contained in:
31
test/helpers/test_setup.dart
Normal file
31
test/helpers/test_setup.dart
Normal file
@@ -0,0 +1,31 @@
|
||||
import 'package:asciineverdie/src/core/audio/audio_service.dart';
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:flutter_test/flutter_test.dart';
|
||||
|
||||
/// 위젯 테스트에서 사용하는 공통 셋업/정리 유틸리티
|
||||
///
|
||||
/// 싱글톤 서비스들이 테스트 간 상태를 공유하지 않도록 정리합니다.
|
||||
class TestSetup {
|
||||
TestSetup._();
|
||||
|
||||
/// SharedPreferences 모킹 설정
|
||||
///
|
||||
/// setUpAll에서 호출하여 SharedPreferences 의존성 제거
|
||||
static void mockSharedPreferences() {
|
||||
final binding = TestWidgetsFlutterBinding.ensureInitialized();
|
||||
binding.defaultBinaryMessenger.setMockMethodCallHandler(
|
||||
const MethodChannel('plugins.flutter.io/shared_preferences'),
|
||||
(call) async {
|
||||
if (call.method == 'getAll') return <String, Object>{};
|
||||
return null;
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
/// 모든 싱글톤 서비스 정리
|
||||
///
|
||||
/// tearDown에서 호출하여 타이머 및 리소스 정리
|
||||
static void resetAllServices() {
|
||||
AudioService.resetAll();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user