프로젝트 소개

GoogleTest는 formerly separate GoogleTest 및 GoogleMock 프로젝트를 통합하여 형성된 Google의 C++ 테스트 프레임워크입니다. 이는 xUnit 기반 단위 테스트 프레임워크로, 테스트를 자동으로 발견하고 실행하므로 수동으로 등록할 필요가 없습니다. README에 설명된 주요 기능에는 풍부한 어서션 세트(동등성, 비동등성, 예외 등), 사용자 정의 어서션, 코드의 종료 방식을 검증하는 데스 테스트, 그리고 실패 후에도 테스트 실행을 계속할 수 있도록 치명적 및 비치명적 실패 지원이 포함됩니다. 또한 서로 다른 입력값으로 반복 실행되는 값 파라미터화 테스트와 서로 다른 데이터 타입으로 실행되는 타입 파라미터화 테스트를 지원합니다. 개별 테스트 실행, 특정 순서로 테스트 실행, 병렬 테스트 실행 등 테스트 실행을 위한 다양한 옵션이 존재합니다. 문서는 GitHub Pages에 호스팅되며, GoogleTest Primer를 시작점으로 추천합니다. 릴리스 1.18.0이 사용 가능하며, 1.18.x 브랜치는 최소 C++17을 요구합니다. 이 프로젝트는 지원되는 컴파일러, 플랫폼 및 빌드 도구에 대해 Google의 Foundational C++ Support Policy를 따릅니다. README는 Google이 지속적 통합을 위해 내부 시스템을 사용하며 Abseil에 대한 의존성이 계획되어 있음을 명시합니다. README에 인용된 주요 사용처에는 Chromium 프로젝트, LLVM 컴파일러, Protocol Buffers, OpenCV 컴퓨터 비전 라이브러리가 포함됩니다. 관련 오픈 소스 프로젝트로는 GTest Runner(Qt5 테스트 러너 및 GUI), GoogleTest UI(C# 테스트 러너), GTest TAP Listener(TAP 프로토콜 출력), gtest-parallel(병렬 테스트 실행), 그리고 GoogleTest Adapter 및 C++ TestMate와 같은 VS Code 확장 기능이 있습니다. Cornichon은 GoogleTest 스텁 코드를 생성하는 Gherkin DSL 파서로 언급됩니다. 기여 세부 사항은 CONTRIBUTING.md에 있습니다.