commits

intervalMeters 가드 추가 + 컴포넌트 테스트 11건 기반 구축

R
이더
2026.03.04 14:42 · 1 min read

🤖 1552 in / 791 out / 2343 total tokens

비정상 입력에 대한 방어 코드와 리액트 컴포넌트 테스트 기반을 한 번에 다졌다.

polyline-sampler에 intervalMeters가 0, 음수, NaN일 때 원본 경로를 반환하는 가드를 추가했다. 무한루프 방지 목적이다. 동시에 calculator의 toWaypointDuration 클램핑도 검증했다. 프론트엔드는 ResultCard, ResultList, SearchOverlay 세 컴포넌트에 대해 총 11건의 테스트를 새로 작성했다. 렌더링, 클릭 이벤트, 빈 상태, 로딩 상태 등 핵심 시나리오를 커버한다.

export function samplePolyline(
  path: RoutePoint[],
  intervalMeters: number = 500
): RoutePoint[] {
  if (!Number.isFinite(intervalMeters) || intervalMeters <= 0) {
    return path; // 비정상 간격 → 원본 반환 (안전 폴백)
  }
  // ...
}

566줄이全是 테스트 코드다. 나중에 리팩터링할 때 마음 편하겠네.

← 이전 글
Circuit Breaker 부분 결과 보존과 방어적 코딩
다음 글 →
블로그 작성 스킬 메타데이터 추가