Repolode
catchorg

catchorg/Catch2

간단한 assertion, BDD 스타일 매크로, 기본 마이크로벤치마킹을 제공하는 C++ 헤더 기반 단위 테스트 프레임워크입니다.

스타
21,534
포크
3,437
열린 이슈
454
마지막 커밋
17일 전

어떤 프로젝트인가요?

Catch2는 C++용 단위 테스트 프레임워크입니다. 테스트 이름은 자유 형식 문자열로 지정할 수 있고, assertion은 일반적인 C++ 불리언 표현식으로 작성하며, section을 사용하면 테스트 내에서 설정 및 정리 코드를 필요한 부분끼리 공유할 수 있습니다.

단위 테스트 외에도 Catch2는 간단한 BDD 매크로와 기본 마이크로벤치마킹 기능을 제공합니다. 벤치마크는 기본 실행에서 제외되며 [!benchmark] 태그를 지정해 명시적으로 선택해야 합니다.

devel 브랜치의 v3 계열에서는 Catch2가 단일 헤더 라이브러리에서 여러 헤더와 별도로 컴파일되는 구현부를 갖춘 일반 라이브러리로 바뀝니다. v2.x 브랜치는 계속 C++11을 지원하며, Catch1.x는 C++03을 지원합니다.

핵심 기능

  • 01테스트 이름으로 유효한 식별자가 아닌 임의의 문자열을 사용할 수 있습니다.
  • 02assertion을 일반적인 C++ 불리언 표현식으로 작성합니다.
  • 03section을 사용하면 테스트 케이스 내에서 설정 및 정리 코드를 필요한 부분끼리 공유할 수 있습니다.
  • 04행동 주도 테스트에 사용할 BDD 스타일 매크로를 포함합니다.
  • 05[!benchmark] 태그로 실행하는 기본 마이크로벤치마킹 기능을 제공합니다.
  • 06외부 의존성이 없습니다.

활용 사례

  • 최소한의 설정으로 C++ 코드베이스의 단위 테스트를 작성합니다.
  • C++ 프로젝트에서 테스트 주도 개발(TDD)을 실습합니다.
  • 기존 테스트에 빠른 마이크로벤치마크를 추가합니다.
  • BDD 매크로로 행동 중심 명세를 구성합니다.

사용 전 알아둘 점

  • README에 v3 변경 사항에 맞춰 문서를 업데이트 중이라고 나와 있어, 일부 문서가 코드보다 최신 상태가 아닐 수 있습니다.

포함된 컬렉션

토픽

자주 묻는 질문

Catch2은(는) 무엇인가요?
간단한 assertion, BDD 스타일 매크로, 기본 마이크로벤치마킹을 제공하는 C++ 헤더 기반 단위 테스트 프레임워크입니다. Catch2는 C++용 단위 테스트 프레임워크입니다. 테스트 이름은 자유 형식 문자열로 지정할 수 있고, assertion은 일반적인 C++ 불리언 표현식으로 작성하며, section을 사용하면 테스트 내에서 설정 및 정리 코드를 필요한 부분끼리 공유할 수 있습니다.
Catch2은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
Catch2은(는) BSL-1.0 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
Catch2은(는) 아직 유지보수되고 있나요?
활발히 유지보수 중. Catch2의 마지막 커밋은 2026년 10월 8일입니다.
Catch2은(는) 어디에 사용할 수 있나요?
최소한의 설정으로 C++ 코드베이스의 단위 테스트를 작성합니다. C++ 프로젝트에서 테스트 주도 개발(TDD)을 실습합니다. 기존 테스트에 빠른 마이크로벤치마크를 추가합니다. BDD 매크로로 행동 중심 명세를 구성합니다.
Catch2은(는) 어디서 받을 수 있나요?
소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/catchorg/Catch2

요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.

관련 프로젝트