Skip to content

[기능개선][BE] 백테스팅 엔진 구조 개선 및 테스트 코드 작성 #196

@ykh4663

Description

@ykh4663

📝 현재 문제점

  • DTO Class 형태
  • 필수 파라미터 누락 시 500에러 발생
  • 신규 지표에 대한 Ta4jHelperService 테스트 부재

🛠️ 해결 방안 / 제안 기능

  • DTO Record 전환
  • CustomException 도입
  • Ta4jHelperServiceTest 추가

⚙️ 작업 내용

1. DTO to Record 전환

  • 기존 class 형태의 DTO를 Java record로 변경.

2. 파라미터 파싱 및 예외 처리 로직 개선

  • Ta4jHelperServiceparams.get() 호출 시 NullPointerException 방지 로직 추가.
  • IllegalArgumentException 대신 전역 예외 처리된 CustomException(ErrorCode.INVALID_INDICATOR_PARAM) 사용.
  • Safe Parsing Helper 메서드 도입 (예: getIntParam, getDoubleParam).

3. Ta4jHelperService 단위 테스트 (Unit Test)

  • 테스트 클래스: Ta4jHelperServiceTest
  • 테스트 케이스:
    • createBarSeries: 데이터 변환 (O)
    • buildCombinedRule: RSI 지표 하나만 테스트됨 (O)
    • validateOperand: type이 null일 때만 테스트됨 (지표 파라미터 누락은 미검증)

🙋‍♂️ 담당자

  • 백엔드: 염경호
  • 검토: 위승재, 이찬양

Metadata

Metadata

Assignees

No one assigned

    Labels

    BE백엔드 이슈

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions