규칙
테스트

테스트

다운로드 후 ~/.claude/rules/ 폴더에 복사하여 사용하세요

테스트 주도 개발과 커버리지 요구사항입니다.

최소 테스트 커버리지: 80%

🧪

모든 새 코드는 80% 이상의 테스트 커버리지를 가져야 합니다.

테스트 타입 (모두 필수)

타입범위예시
단위 테스트개별 함수, 유틸리티, 컴포넌트calculatePrice.test.ts
통합 테스트API 엔드포인트, 데이터베이스 작업api/users.test.ts
E2E 테스트중요 사용자 흐름 (Playwright)e2e/checkout.spec.ts

테스트 주도 개발 (TDD)

필수 워크플로우:

1. 테스트 먼저 작성 (RED)

2. 테스트 실행 - 실패해야 함

3. 최소한의 구현 작성 (GREEN)

4. 테스트 실행 - 통과해야 함

5. 리팩토링 (IMPROVE)

6. 커버리지 확인 (80%+)

TDD 예시

// 1단계: 테스트 먼저 작성 (RED)
describe('calculateTotal', () => {
  it('should return sum of prices', () => {
    const items = [{ price: 100 }, { price: 200 }]
    expect(calculateTotal(items)).toBe(300)
  })
 
  it('should return 0 for empty array', () => {
    expect(calculateTotal([])).toBe(0)
  })
})
 
// 2단계: 테스트 실행 - 실패
 
// 3단계: 최소한의 구현 (GREEN)
function calculateTotal(items: { price: number }[]): number {
  return items.reduce((sum, item) => sum + item.price, 0)
}
 
// 4단계: 테스트 실행 - 통과
 
// 5단계: 리팩토링 (IMPROVE)
// 이미 충분히 깔끔함

테스트 실패 문제 해결

  1. tdd-guide 에이전트 사용
  2. 테스트 격리 확인
  3. 모킹이 올바른지 검증
  4. 테스트가 아닌 구현 수정 (테스트가 잘못된 경우 제외)

커버리지 요구사항

# 커버리지와 함께 테스트 실행
npm test --coverage
 
# 임계값
- 브랜치: 80%
- 함수: 80%
- 라인: 80%
- 문장: 80%

100% 커버리지 필수 영역

  • 금융 계산
  • 인증 로직
  • 보안에 중요한 코드
  • 핵심 비즈니스 로직

에이전트 지원

에이전트용도
tdd-guide새 기능에 적극적으로 사용, 테스트 먼저 작성 강제
e2e-runnerPlaywright E2E 테스트 전문가