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 {}; return null; }, ); } /// 모든 싱글톤 서비스 정리 /// /// tearDown에서 호출하여 타이머 및 리소스 정리 static void resetAllServices() { AudioService.resetAll(); } }