프로젝트 소개

Ginkgo는 표준 `testing` 기반 위에 구축된 Go용 테스트 프레임워크입니다. RSpec, Jasmine, Quick과 유사한 스타일로 스펙을 작성할 수 있는 도메인 특화 언어(DSL)를 제공하여 단위, 통합 및 성능 테스트에 적합합니다. 주요 기능은 다음과 같습니다: - **표현력 있는 구성**: `Describe`, `Context`, `When`과 같은 중첩 가능한 컨테이너 노드와 `BeforeEach`, `AfterEach`, `BeforeSuite`, `AfterSuite`와 같은 설정 및 정리 노드를 사용합니다. - **실행 제어**: 재현 가능한 무작위 순서로 스펙을 실행하는 기능을 지원하며, `ginkgo -p` 명령을 통해 정교한 병렬 처리를 제공합니다. - **스펙 관리**: 스펙 정리를 위한 레이블을 제공하며, 프로그래밍 방식의 필터링이나 명령줄 옵션을 통해 특정 테스트 하위 집합을 실행할 수 있습니다. - **툴링**: 스위트 생성, 실행, 필터링 및 프로파일링을 위한 CLI 도구와 개발 중 빠른 피드백을 위한 `ginkgo watch` 모드를 포함합니다. - **리포팅**: 다양한 형식의 기계 판독 가능 출력을 생성하며, 사용자 정의 리포팅 인프라 구축이 가능합니다. - **통합**: 동기 및 비동기 단언(assertion)을 위해 Gomega 매처 라이브러리와 함께 사용하도록 설계되었습니다. 또한, Ginkgo는 Claude Code용 플러그인을 제공하여 에이전트가 Ginkgo의 관용구와 데코레이터를 사용하여 스펙을 작성하는 것을 돕습니다.