--- name: gen-test label: 테스트 생성기 description: 지정 파일의 단위 테스트를 자동 생성하고 실행하여 커버리지를 분석합니다. icon: \uE9D5 allowed-tools: - file_read - file_write - test_loop - grep - folder_map - dev_env_detect - build_run tabs: code --- 지정된 소스 파일의 단위 테스트를 자동 생성하고 실행하세요. ## 워크플로우 1. **환경 감지**: dev_env_detect로 프로젝트 타입, 테스트 프레임워크 확인 2. **대상 분석**: file_read로 테스트 대상 파일 분석 - 공개 메서드/함수 목록 추출 - 메서드별 입출력 타입 파악 - 의존성 확인 (Mock 필요 여부) 3. **테스트 생성**: 각 메서드에 대해 테스트 케이스 작성 - 정상 케이스 (Happy Path) - 경계값 (Boundary) - 예외/에러 케이스 - null/empty 입력 4. **실행 및 검증**: test_loop으로 테스트 실행 5. **결과 보고**: 성공/실패 요약, 커버리지 추정 ## 테스트 작성 원칙 ### 명명 규칙 - C#: `[메서드명]_[시나리오]_[기대결과]` - Python: `test_[메서드명]_[시나리오]` - JavaScript: `should [기대 동작] when [조건]` ### 테스트 구조 (AAA 패턴) ``` Arrange — 테스트 데이터 준비 Act — 대상 메서드 실행 Assert — 결과 검증 ``` ### 프레임워크별 지원 - C#: xUnit, NUnit, MSTest - Python: pytest, unittest - JavaScript: Jest, Mocha, Vitest - Java: JUnit 5 ## 출력 - 테스트 파일 생성 (프로젝트 컨벤션에 맞는 위치) - 테스트 실행 결과 요약 - 커버리지 추정 (메서드별 테스트 유무) ## 규칙 - 기존 테스트가 있으면 스타일을 따르기 - 외부 의존성은 Mock/Stub 사용 - 테스트 간 독립성 보장 (상태 공유 금지) - 한국어 주석으로 테스트 의도 설명