콘텐츠로 이동

03-실전

시나리오 1: “이 함수에 테스트 추가”

섹션 제목: “시나리오 1: “이 함수에 테스트 추가””
> @src/utils/parseRange.ts 의 parseRange 함수에 vitest 단위 테스트를 추가해줘.
> @tests/utils/formatRange.test.ts 와 동일한 스타일·구조를 따라.
> 엣지 케이스 5개 이상 (빈 입력, 음수, 역순, 중복, 큰 숫자).
> 작성 후 `pnpm test parseRange`를 돌려서 전부 통과하는지 확인.

@로 형제 테스트를 멘션하는 게 핵심. 모델이 팀 스타일을 그대로 따른다.

시나리오 2: “버그 재현 테스트 먼저”

섹션 제목: “시나리오 2: “버그 재현 테스트 먼저””
> 이슈 #432의 버그를 재현하는 최소 테스트를 먼저 작성해.
> 그 다음 실패를 확인하고, 그 다음 fix.

이 흐름은 회귀 방지가 자동으로 따라온다.

시나리오 3: 마이그레이션 (에어비앤비식)

섹션 제목: “시나리오 3: 마이그레이션 (에어비앤비식)”
  1. 단위(파일 1개) 정의.
  2. 헤드리스 Claude에 --max-turns 30 으로 위임.
  3. 변환 → 자동 검증 → 실패 시 같은 세션에서 재시도(에러를 컨텍스트로).
  4. 성공한 단위는 자동 커밋·PR.
  5. 사람은 단위 PR을 일괄 리뷰.

상한: 단위당 시도 10회. 그 이상이면 사람 개입.

시나리오 4: 새 기능 (Harper Reed식)

섹션 제목: “시나리오 4: 새 기능 (Harper Reed식)”
  1. “이 작은 기능의 첫 사용 예 5개를 테스트로 적어줘.”
  2. 사람이 테스트 검토.
  3. “이제 통과시켜.”
  4. 통과 후 “엣지 케이스 5개 더 추가.”
  5. 다시 통과.

작은 단위 + 즉각 보상 루프가 정수.

시나리오 5: 안전망이 약한 레거시

섹션 제목: “시나리오 5: 안전망이 약한 레거시”

테스트가 거의 없는 레거시 코드에 에이전트를 풀려면:

  1. 첫 작업은 “스냅샷 테스트 추가” — 입력/출력 캡처. 의미를 검증하지 않더라도 회귀를 잡는다.
  2. 그 다음 진짜 단위 테스트를 점진적으로.
  3. 그 다음에야 리팩터 단계.

순서를 바꾸면 에이전트가 정상 동작을 무너뜨려도 모른다.