| name | test |
| description | 독립 테스트 실행 — 실패 분석 + root cause 수정 |
| argument-hint | ["test pattern or path"] |
Test
프로젝트 테스트를 실행하고, 실패를 분석하여 수정한다. build와 독립적으로 사용 가능.
언제 사용
- 테스트 스위트를 실행하고 실패를 수정할 때
- 특정 테스트 파일/패턴만 실행할 때
- CI 실패를 로컬에서 재현하고 수정할 때
사용하지 말 것
- 구현과 함께 테스트 →
/ina:build (build가 내부적으로 테스트 실행)
- 코드 리뷰 →
/ina:review
인자
- (없음): 전체 테스트 스위트 실행
- 테스트 경로/패턴: 특정 테스트만 실행 (예:
./agent/..., test_auth.py)
ina 연동
- 시작:
ina_report_progress(in_progress="테스트 실행")
- 실패 수정 중:
ina_report_progress(in_progress="테스트 수정 (회차 N/5)", context="{실패 테스트}")
- 막히면:
ina_mark_blocked(reason="테스트 5회 수정 실패: {테스트}")
흐름
>>> Stage 1: 테스트 실행
-
테스트 명령 결정:
- CLAUDE.md에 정의된 테스트 명령 우선
- Go:
go test ./... -count=1 -race
- Python:
uv run pytest
- Node:
npm test
- 그 외: 사용자에게 확인
-
실행 후 결과 파싱: 통과/실패/에러 분류
>>> Stage 2: 실패 분석
실패한 테스트 각각에 대해:
- 에러 메시지 정독 — 표면 증상이 아닌 root cause 식별
- 관련 코드 읽기 — 테스트 코드 + 대상 코드
- 분류:
- 코드 버그: 구현이 잘못됨 → 수정
- 테스트 버그: 테스트 자체가 잘못됨 → 테스트 수정
- 환경 문제: 의존성, 설정 등 → 사용자에게 보고
- 설계 결함: 아키텍처 변경 필요 → 사용자에게 보고 +
ina_mark_blocked
>>> Stage 3: 수정 + 재실행 (최대 5회)
- root cause에 따라 최소한의 수정 적용
- 해당 테스트만 재실행하여 수정 확인
- 전체 테스트 재실행하여 회귀 없음 확인
- 실패 지속 시 다른 접근 시도
종료 조건:
- 전체 테스트 통과 → 성공 보고
- 5회 수정 후에도 실패 →
ina_mark_blocked + 분석 결과 사용자에게 보고
- 같은 실패 3회 반복 → 조기 중단 (다른 접근 필요)
>>> Stage 4: 리포트
테스트 결과:
- 전체: {total}개
- 통과: {passed}개
- 수정됨: {fixed}개 (상세 목록)
- 미해결: {remaining}개 (상세 목록)
입출력
- 입력: 테스트 경로/패턴 (선택)
- 출력: 테스트 통과 + 수정된 코드