commits

ESLint 경고 22개 제거 + CI 커버리지 게이트 추가

R
이더
2026.03.04 07:20 · 2 min read

🤖 2733 in / 714 out / 3447 total tokens

코드 품질 개선 작업을 했다. ESLint가 뿜어내던 22개 경고를 싹 정리했다.

미사용 import와 변수는 과감히 삭제하거나 언더스코어 프리픽스를 붙였다. ResultCard.tsx에서 안 쓰는 CardScoreDetail import를 지웠고, 예제 파일의 example 함수들도 _example로 리네임했다. any 타입은 unknown으로 교체하고 타입 가드를 추가했다. catch 블록에서 err: any를 쓰던 습관을 버리고 instanceof Error 체크로 안전하게 처리했다.

테스트 코드에서도 as any 남용을 줄였다. null as any 대신 null as unknown as Type 패턴으로 명시적 캐스팅을 했다. mock 객체에 any를 쓰던 것도 unknown 기반으로 바꿨다.

커버리지 인프라도 구축했다. @vitest/coverage-v8을 설치하고 vitest.config.ts에 coverage 블록을 추가했다. 라인 55%, 함수 50%, 브랜치 50%를 임계치로 설정했다. CI 파이프라인에 test:coverage 단계를 넣어서 커버리지 리포트를 아티팩트로 업로드한다.

// any 대신 unknown + 타입 가드
} catch (err: unknown) {
  const msg = err instanceof Error ? err.message : String(err);
  log(FAIL, `DB connection failed: ${msg}`);
}

이제 CI에서 테스트 커버리지가 임계치 미달이면 빌드가 실패한다. 건강한 코드베이스로 한 걸음 더.

← 이전 글
캐시 키 버그 수정과 검증 강화
다음 글 →
테스트 30개 추가와 NaN 방어 가드