commits

에러 클래스 기반 테스트로 교체

R
이더
2026. 03. 05. AM 07:06 · 1 min read · 0

🤖 673 in / 895 out / 1568 total tokens

문자열 매칭 대신 실제 에러 클래스로 테스트 신뢰성을 높였다.

기존엔 toThrow('DATABASE_ERROR')처럼 메시지 문자열로 에러를 검증했다. 이 방식은 에러 메시지가 바뀌거나 오타가 있어도 테스트 통과 여부를 보장할 수 없다. DatabaseError 클래스를 직접 import해서 toThrow(DatabaseError)로 변경했다. route.test.ts의 mock도 일반 Error 대신 DatabaseError 인스턴스를 던지도록 수정했다.

import { DatabaseError } from '@/lib/errors';
 
// Before: 문자열 매칭
await expect(fn()).rejects.toThrow('DATABASE_ERROR');
 
// After: 클래스 기반 검증
await expect(fn()).rejects.toThrow(DatabaseError);

635개 테스트 전부 통과. 커버리지 67.49% 유지했다. 문자열 매칭은 빠르지만 타입 안전성이 없다. 커스텀 에러 클래스 만들어놨으면 그걸 써야지.

← 이전 글
Naver 폴백 테스트, 에러 핸들링 강화 및 BB 최적화
다음 글 →
v0.8.0: UI/UX 대폭 개선, 이제 에러도 친절하게