GoogleTest

What GoogleTest is
GoogleTest is Google’s C++ framework for writing tests and creating mocks. It supports many kinds of C++ testing, not only unit tests, and uses an xUnit-style architecture. Tests are discovered and run without manual registration. Its assertions cover equality, inequality, exceptions and other conditions, and users can define their own assertions. Failure options include fatal and non-fatal test failures, as well as death tests. Developers can create value-parameterized and type-parameterized tests, choose individual tests or their order, and run tests in parallel. GoogleTest provides quickstarts for Bazel and CMake, plus pkg-config files for compiling and linking GoogleTest and GoogleMock. The user guide includes introductory and advanced material, mocking guides, FAQs, references, samples and community documentation. It supports Linux, macOS and Windows; the 1.18.x branch requires at least C++17. GoogleTest is free under the BSD-3-Clause license, which permits source and binary redistribution subject to its conditions and disclaimer.
Who it suits
It suits C++ developers who need to test varied code, create mocks, or run parameterized tests. Its Bazel and CMake quickstarts and support for Linux, macOS and Windows may help teams using those environments.
What it does well
- Discovers and runs tests without manual registration.
- Supports fatal, non-fatal and death tests.
- Provides value- and type-parameterized tests.
- Can run tests in parallel.
- Free under the BSD-3-Clause license.
What to know first
- The 1.18.x branch requires at least C++17.
- Supports C++ only.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| GoogleTest | free and open-source software · BSD 3-clause license | Free |
As google.github.io lists them, read 1 Oct 2026. The maker's own page has the final word.
Getting started
- Open the GoogleTest website.
- Choose the Bazel or CMake quickstart for your build setup.
- Use the included pkg-config files to compile and link GoogleTest or GoogleMock.
Verdict
GoogleTest offers a broad set of C++ testing and mocking capabilities, from automatic test discovery to parallel execution. Check the published compiler, platform and build-tool versions, and note the C++17 requirement for the 1.18.x branch.
Questions
How much does GoogleTest cost?
GoogleTest is free. Its listed plan is free.
Which platforms does it support?
GoogleTest supports Linux, macOS, and Windows, following Google’s Foundational C++ Support Policy.
Which languages does it support?
The listed supported language is C++.
Does GoogleTest include mocks?
Yes. GoogleTest includes built-in mocks, and its documentation has mocking guides.
Is GoogleTest open source?
Yes. The repository uses the BSD-3-Clause license, which permits source and binary redistribution subject to its conditions and disclaimer.
What build systems have quickstarts?
GoogleTest provides quickstarts for Bazel and CMake, plus pkg-config files for compiling and linking GoogleTest and GoogleMock.
Facts from GoogleTest's own pages
- Adoption
- The project lists Chromium, LLVM, Protocol Buffers, and OpenCV among notable users. · github.com, 1 Oct 2026
- Architecture
- GoogleTest is based on the xUnit testing framework architecture. · github.com, 1 Oct 2026
- Assertions
- GoogleTest provides assertions for equality, inequality, exceptions, and other conditions, and supports user-defined assertions. · github.com, 1 Oct 2026
- Build integration
- GoogleTest provides quickstarts for Bazel and CMake. · google.github.io, 1 Oct 2026
- C++ requirement
- The 1.18.x branch requires at least C++17. · github.com, 1 Oct 2026
- Documentation support
- The user guide includes primer, advanced topics, mocking guides, FAQs, references, samples, and community documentation. · google.github.io, 1 Oct 2026
- Failure handling
- GoogleTest supports death tests plus fatal and non-fatal test failures. · github.com, 1 Oct 2026
- License
- The repository uses the BSD-3-Clause license, permitting source and binary redistribution subject to its conditions and disclaimer. · github.com, 1 Oct 2026
- Parameterized tests
- GoogleTest supports value-parameterized and type-parameterized tests. · github.com, 1 Oct 2026
- pkg-config
- GoogleTest includes pkg-config files for compiling and linking GoogleTest and GoogleMock. · google.github.io, 1 Oct 2026
- Purpose
- GoogleTest is Google’s C++ testing and mocking framework. · google.github.io, 1 Oct 2026
- Run options
- GoogleTest can run individual tests, tests in a specific order, and tests in parallel. · github.com, 1 Oct 2026
- Supported platforms
- GoogleTest follows Google’s Foundational C++ Support Policy and publishes supported compiler, platform, and build-tool versions. · google.github.io, 1 Oct 2026
- Test discovery
- GoogleTest automatically discovers and runs tests without requiring manual registration. · github.com, 1 Oct 2026
- Testing scope
- GoogleTest supports any kind of C++ tests, not just unit tests. · google.github.io, 1 Oct 2026
Where GoogleTest stands on Freedom251
- Unit Testing#3 of 32
- Unit Testing Frameworks#5 of 32