TDD 작성

This commit is contained in:
2025-08-12 03:28:08 +09:00
parent 6033d59590
commit 107abc963f
156 changed files with 70906 additions and 642 deletions
@@ -4,8 +4,10 @@ import 'package:mockito/annotations.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:lanebow/services/score_service.dart';
import 'package:lanebow/services/api_service.dart';
import 'package:lanebow/services/event_bus.dart';
import 'package:lanebow/models/score_model.dart';
import 'package:lanebow/config/api_config.dart';
import 'package:lanebow/utils/test_utils.dart';
// 모킹 클래스 생성
@GenerateMocks([ApiService])
@@ -45,6 +47,16 @@ void main() {
};
setUp(() async {
// 테스트 모드 강제 설정
TestUtils.setTestMode(true);
// 테스트별 고유 ID 생성 및 설정
final testId = 'score_service_test_${DateTime.now().millisecondsSinceEpoch}';
EventBus.setCurrentTestId(testId);
// EventBus 완전 초기화
EventBus().reset();
// SharedPreferences 모킹
SharedPreferences.setMockInitialValues({
ApiConfig.clubIdKey: testClubId,
@@ -59,6 +71,20 @@ void main() {
// 토큰 설정
scoreService.initialize(testToken);
});
tearDown(() {
// 테스트 종료 후 EventBus 초기화
EventBus().reset();
// 테스트에서 생성된 ScoreService 정리
scoreService.dispose();
// 테스트 ID 초기화
EventBus.clearCurrentTestId();
// 테스트 모드 해제
TestUtils.setTestMode(false);
});
group('ScoreService 테스트', () {
test('initialize 메서드가 토큰을 설정해야 함', () {