Agent skill · software engineering · affaan-m
golang-testing
테이블 주도 테스트, 서브테스트, 벤치마크, 퍼징, 테스트 커버리지를 포함한 Go 테스팅 패턴. 관용적 Go 관행과 함께 TDD 방법론을 따릅니다.
Why this skill is useful
Provides specific Go testing patterns and practices that enhance the AI's ability to generate reliable and maintainable tests in Go.
What it needs
About 8k tokens when loaded. Last updated 2026-08-06. 238,342 stars on the source repository.
What this skill does
Go 테스팅 패턴 TDD 방법론을 따르는 신뢰할 수 있고 유지보수 가능한 테스트 작성을 위한 포괄적인 Go 테스팅 패턴. 활성화 시점 새로운 Go 함수나 메서드 작성 시 기존 코드에 테스트 커버리지 추가 시 성능이 중요한 코드에 벤치마크 생성 시 입력 유효성 검사를 위한 퍼즈 테스트 구현 시 Go 프로젝트에서 TDD 워크플로우 따를 시 Go에서의 TDD 워크플로우 RED-GREEN-REFACTOR 사이클 Go에서의 단계별 TDD 테이블 주도 테스트 Go 테스트의 표준 패턴. 최소한의 코드로 포괄적인 커버리지를 가능하게 합니다. 에러 케이스가 있는 테이블 주도 테스트 서브테스트 및 서브벤치마크 관련 테스트 구성 병렬 서브테스트 테스트 헬퍼 헬퍼 함수 임시 파일 및 디렉터리 골든 파일 testdata/에 저장된 예상 출력 파일에 대한 테스트. 인터페이스를 사용한 모킹 인터페이스 기반 모킹 벤치마크 기본 벤치마크 다양한 크기의 벤치마크 메모리 할당 벤치마크 퍼징 (Go 1.18+) 기본 퍼즈 테스트 다중 입력 퍼즈 테스트 테스트 커버리지 커버리지 실행 커버리지 목표 코드 유형 목표 ----------- -------- 핵심 비즈니스 로직 100% 공개 API 90%+ 일반 코드 80%+ 생성된 코드 제외 생성된 코드를 커버리지에서 제외 HTTP 핸들러 테스팅 테스팅 명령어 모범 사례 해야 할 것: 테스트를 먼저 작성 (TDD) 포괄적인 커버리지를 위해 테이블 주도 테스트 사용 구현이 아닌 동작을 테스트 헬퍼 함수에서 t.Helper() 사용 독립적인 테스트에 t.Parallel() 사용 t.Cleanup()으로 리소스 정리 시나리오를 설명하는 의미 있는 테스트 이름 사용 하지 말아야 할 것: 비공개 함수를 직접 테스트 (공개 API를 통해 테스트) 테스트에서 time.Sleep() 사용 (채널이나 조건 사용) 불안정한 테스트 무시 (수정하거나 제거) 모든 것을 모킹 (가능하면 통합 테스트 선호) 에러 경로 테스트 생략 CI/CD 통합 기억하세요: 테스트는 문서입니다. 코드가 어떻게 사용되어야 하는지를 보여줍니다. 명확하게 작성하고 최신 상태로 유지하세요.
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills affaan-m/golang-testing--9f2e3a