이 실패를 진단하세요: $ARGUMENTS
단계
- 재현. 실패한 파일만 실행합니다:
npx vitest run <file>(-t "<test name>"옵션으로 범위를 좁힐 수 있습니다). 파일이 주어지지 않았다면npm test를 실행하고 첫 번째 실패를 선택합니다. 통과한다면 5번 실행하세요 (npx vitest run <file> --repeat 4) — 불안정한지 확인합니다. - 코드를 읽기 전에 어설션 diff와 스택 트레이스를 먼저 읽습니다. 실패한 기대값(expectation)을 명시하세요.
- 변경된 내용을 찾습니다:
git log --oneline -10 -- <소스 파일> <테스트 파일>및git diff main...HEAD -- <파일들>. - 원인을 분류하고, 어떤 유형인지 말합니다:
- 코드 버그 — 테스트가 옳습니다; 소스 코드를 수정하세요.
- 낡은 테스트 — 의도적으로 동작이 변경되었습니다; 테스트를 업데이트하고 어떤 커밋이 변경했는지 말하세요.
- 테스트 격리 — 테스트 간의 공유 상태(데이터 파일, 환경 변수, 시간, 순서).
이 저장소에서는 테스트가
useTempDataFile()을 사용하고createLink에 명시적인now값을 전달하는지 확인하세요 (시계에 의존하지 않도록). - 환경 — Node 버전, 설치 누락, CI에서만 발생하는 차이.
- 근본 원인을 수정합니다. 테스트를 통과시키기 위해 어설션을 건너뛰거나, 삭제하거나, 느슨하게 만들지 마십시오. 또한
명시하지 않고
data/seed.json을 편집하여 테스트를 만족시키지 마십시오. - 해당 파일을 다시 실행한 후
npm test를 실행합니다. - 보고: 원인(한 문장), 분류, 수정 사항, 실행한 명령어를 보고합니다.