피드로 돌아가기
Dev.toFrontend
원문 읽기
Vitest 26개 테스트 케이스로 증명하는 포트폴리오의 엔지니어링 품질
How I Added Unit Tests to a Next.js Project Using Vitest (and Why It Matters for Portfolio Projects)
AI 요약
Context
Next.js 기반 SQL 정답 검사기의 로직 정확성 검증 필요성 대두. Linting만으로는 실제 런타임 동작 및 엣지 케이스 대응 여부 확인 불가능. 단순 기능 구현을 넘어 엔지니어링 판단 근거를 제시하는 구조적 검증 체계 요구.
Technical Solution
- TypeScript 네이티브 지원 및 빠른 실행 속도를 위해 Jest 대신 Vitest 채택
- Path Alias 설정을 위한 vitest.config.ts 구성으로 @ 경로 참조 최적화
- 정규표현식을 활용한 SQL 입력값 정규화 및 대소문자 구분 제거 로직 구현
- 필수 키워드 포함 여부, 금지 패턴 탐지, 컬럼 유효성 검사 등 다각도 검증 시나리오 설계
- 정답 포함 시 가점 및 금지 패턴 매칭 시 감점(개당 25점) 방식의 스코어링 알고리즘 적용
- Claude Code를 활용한 테스트 스캐폴딩 생성 및 26개 유닛 테스트 케이스 자동화
Impact
- 총 7개 테스트 스위트에서 26개 유닛 테스트 통과
Key Takeaway
순수 함수 형태의 비즈니스 로직은 반드시 테스트 코드로 문서화하여 설계 의도와 엣지 케이스 대응 능력을 증명해야 함.
실천 포인트
Next.js 프로젝트에서 빠른 설정과 TypeScript 호환성이 중요하다면 Jest보다 Vitest 도입을 우선 검토할 것