feat: 각 모듈 개별 테스트 실행 가능하도록 수정 및 docker compose 최신 버전 형식 적용

This commit is contained in:
2025-12-31 11:46:15 +09:00
parent 8cfeaae92d
commit 53326703ab
13 changed files with 888 additions and 21 deletions

View File

@ -26,7 +26,13 @@ from typing import Dict, List, Optional, Tuple, Any
from core.logging_utils import get_logger
from core.config import get_config
from .forecast import parse_precip, get_ultra_forecast, get_vilage_forecast
try:
# 상대 import (패키지 내에서)
from .forecast import parse_precip, get_ultra_forecast, get_vilage_forecast
except ImportError:
# 절대 import (직접 실행 시)
from services.weather.forecast import parse_precip, get_ultra_forecast, get_vilage_forecast
logger = get_logger(__name__)
@ -341,3 +347,37 @@ class PrecipitationService:
'hourly': time_precip_list,
'total': total
}
if __name__ == '__main__':
"""
강수량 데이터 서비스 모듈 테스트
사용법:
python services/weather/precipitation.py
"""
logger = get_logger(__name__)
logger.info("=== 강수량 데이터 서비스 모듈 테스트 ===")
try:
config = get_config()
service_key = config.data_api['service_key'] or "TEST_KEY"
logger.info(f"설정 로드 완료")
logger.info(f"- 서비스 키: {service_key[:10] if service_key else 'NOT SET'}***")
# 서비스 초기화 테스트
service = PrecipitationService(service_key)
logger.info("\nPrecipitationService 초기화 완료")
logger.info("\n제공 기능:")
logger.info("- get_daily_summary: 일일 강수량 요약")
logger.info("- generate_html_table: HTML 테이블 생성")
logger.info("- get_output_format: 다양한 형식 제공 (JSON, HTML, 텍스트)")
logger.info("\n✓ 강수량 데이터 서비스 모듈 테스트 완료")
except Exception as e:
logger.error(f"강수량 모듈 테스트 실패: {e}")
import traceback
logger.error(traceback.format_exc())