commits

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

R
이더
2026.03.04 22:06 · 1 min read

🤖 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 출시, 검색 UX 개선 및 엣지 케이스 처리 로직 추가