--- description: Go용 TDD 워크플로우 강제. 테이블 기반 테스트를 먼저 작성한 후 구현. go test -cover로 80% 이상 커버리지 검증. --- # Go TDD 커맨드 이 커맨드는 관용적 Go 테스팅 패턴을 사용하여 Go 코드에 테스트 주도 개발 방법론을 강제합니다. ## 이 커맨드가 하는 것 1. **타입/인터페이스 정의**: 함수 시그니처를 먼저 스캐폴딩 2. **테이블 기반 테스트 작성**: 포괄적인 테스트 케이스 생성 (RED) 3. **테스트 실행**: 올바른 이유로 테스트가 실패하는지 확인 4. **코드 구현**: 통과하기 위한 최소한의 코드 작성 (GREEN) 5. **리팩토링**: 테스트를 통과시키면서 개선 6. **커버리지 확인**: 80% 이상 커버리지 확보 ## 사용 시점 `/go-test`를 사용해야 할 때: - 새로운 Go 함수 구현 - 기존 코드에 테스트 커버리지 추가 - 버그 수정 (실패하는 테스트를 먼저 작성) - 핵심 비즈니스 로직 구현 ## TDD 사이클 ``` RED → 실패하는 테이블 기반 테스트 작성 GREEN → 통과하기 위한 최소한의 코드 구현 REFACTOR → 코드 개선, 테스트는 통과 유지 REPEAT → 다음 테스트 케이스 ``` ## 커버리지 목표 | 코드 유형 | 목표 | |-----------|------| | 핵심 비즈니스 로직 | 100% | | 공개 API | 90%+ | | 일반 코드 | 80%+ | | 생성된 코드 | 제외 | ## 관련 커맨드 - `/go-build` - build 에러 수정 - `/go-review` - 구현 후 코드 리뷰 - `/verify` - 전체 검증 루프