GoogleTest는 이제 Abseil Live at Head 철학을 따릅니다. 가능한 한 자주 main
브랜치의 최신 커밋으로 업데이트하는 것이 좋습니다. 우리는 v${major}.${minor}.${patch}
태그가 붙은 의미론적 버전을 가끔 게시합니다(예: v1.15.2
).
우리 문서는 현재 https://google.github.io/googletest/의 GitHub 페이지에 게시되어 있습니다. 저장소에서 직접 살펴보는 것보다 GitHub 페이지에서 문서를 찾아보는 것이 좋습니다.
이제 릴리스 1.15.2를 사용할 수 있습니다.
1.15.x 브랜치에는 C++14 이상이 필요합니다.
우리는 지속적인 통합을 위해 Google의 내부 시스템을 사용합니다.
우리는 Abseil에 의존할 계획입니다.
이 저장소는 이전에 분리된 GoogleTest 및 GoogleMock 프로젝트를 병합한 것입니다. 이들은 매우 밀접하게 관련되어 있으므로 함께 유지 관리하고 릴리스하는 것이 합리적입니다.
문서는 GoogleTest 사용자 가이드를 참조하세요. GoogleTest Primer로 시작하는 것이 좋습니다.
GoogleTest 구축에 대한 자세한 내용은 googletest/README.md에서 확인할 수 있습니다.
xUnit 테스트 프레임워크:
Googletest는 단위 테스트에 널리 사용되는 아키텍처인 xUnit 테스트 프레임워크를 기반으로 합니다.
테스트 검색:
Googletest는 테스트를 자동으로 검색하고 실행하므로 테스트를 수동으로 등록할 필요가 없습니다.
다양한 주장 세트:
Googletest는 동등, 부등, 예외 등과 같은 다양한 어설션을 제공하므로 코드를 쉽게 테스트할 수 있습니다.
사용자 정의 어설션:
Googletest를 사용하여 자신만의 어설션을 정의할 수 있으므로 코드에 맞는 테스트를 간단하게 작성할 수 있습니다.
사망 테스트:
Googletest는 코드가 특정 방식으로 종료되는지 확인하는 종료 테스트를 지원하므로 오류 처리 코드를 테스트하는 데 유용합니다.
치명적 및 치명적이지 않은 오류:
Googletest를 사용하여 테스트 실패를 치명적 또는 치명적이지 않은 것으로 처리해야 하는지 여부를 지정하여 실패가 발생하더라도 테스트가 계속 실행되도록 할 수 있습니다.
값 매개변수화된 테스트:
Googletest는 다양한 입력 값으로 여러 번 실행되는 값 매개변수화된 테스트를 지원하므로 다양한 입력을 사용하는 함수를 테스트하는 데 유용합니다.
유형 매개변수화된 테스트:
Googletest는 또한 다양한 데이터 유형으로 실행되는 유형 매개변수화된 테스트를 지원하므로 다양한 데이터 유형으로 작동하는 기능을 테스트하는 데 유용합니다.
테스트 실행을 위한 다양한 옵션:
Googletest는 개별 테스트 실행, 특정 순서로 테스트 실행, 병렬 테스트 실행 등 테스트 실행을 위한 다양한 옵션을 제공합니다.
GoogleTest는 Google의 기본 C++ 지원 정책을 따릅니다. 현재 지원되는 컴파일러, 플랫폼 및 빌드 도구 버전 목록은 이 표를 참조하세요.
Google의 많은 내부 프로젝트 외에도 GoogleTest는 다음과 같은 주목할만한 프로젝트에서도 사용됩니다.
Chromium 프로젝트(Chrome 브라우저 및 Chrome OS 뒤에 있음)
LLVM 컴파일러.
Google의 데이터 교환 형식인 프로토콜 버퍼.
OpenCV 컴퓨터 비전 라이브러리.
GTest Runner는 Windows 및 Linux 플랫폼을 위한 강력한 기능을 갖춘 Qt5 기반 자동 테스트 실행기이자 그래픽 사용자 인터페이스입니다.
GoogleTest UI는 테스트 바이너리를 실행하고 진행률 표시줄을 통해 진행 상황을 추적할 수 있으며 테스트 실패 목록을 표시하는 테스트 실행기입니다. 하나를 클릭하면 실패 텍스트가 표시됩니다. GoogleTest UI는 C#으로 작성되었습니다.
GTest TAP Listener는 테스트 결과 출력을 위한 TAP 프로토콜을 구현하는 GoogleTest용 이벤트 리스너입니다. 테스트 실행기가 TAP를 이해하고 있다면 이것이 유용할 수 있습니다.
gtest-parallel은 상당한 속도 향상을 제공하기 위해 바이너리에서 테스트를 병렬로 실행하는 테스트 실행기입니다.
GoogleTest Adapter는 트리 보기에서 GoogleTest를 보고 테스트를 실행/디버깅할 수 있는 VS Code 확장입니다.
C++ TestMate는 트리 보기에서 GoogleTest를 보고 테스트를 실행/디버깅할 수 있는 VS Code 확장입니다.
Cornichon은 GoogleTest용 스텁 코드를 생성하는 작은 Gherkin DSL 파서입니다.
이 프로젝트에 기여하는 방법에 대한 자세한 내용은 CONTRIBUTING.md
읽어보세요.
즐거운 테스트 되세요!