Skip to content
SPECIFICTION
Get listed

GoogleTest

google.github.io

Free plan WindowsmacOSLinux
Visit google.github.io
Spec score 8.0 #7 of 32 in Unit Testing

What it is

GoogleTest is Google’s free C++ framework for testing and mocking on Linux, macOS, and Windows. Built on the xUnit architecture, it supports many kinds of C++ tests rather than only unit tests and discovers tests automatically without manual registration. Assertions cover equality, inequality, exceptions, and other conditions, with support for user-defined assertions. The framework includes fatal and non-fatal failures, death tests, and value-parameterized and type-parameterized cases. Developers can run individual tests, choose an order, or execute tests in parallel. Quickstarts cover Bazel and CMake, and pkg-config files help compile and link GoogleTest and GoogleMock. Documentation includes primers, advanced topics, mocking guides, FAQs, references, samples, and community material. The 1.18.x branch requires at least C++17. GoogleTest follows Google’s Foundational C++ Support Policy and publishes supported compiler, platform, and build-tool versions. It uses the BSD-3-Clause license, permitting redistribution under its conditions.

Spec sheet

Purpose
GoogleTest is Google’s C++ testing and mocking framework.Read 1 Oct 2026 · google.github.io
License
The repository uses the BSD-3-Clause license, permitting source and binary redistribution subject to its conditions and disclaimer.Read 1 Oct 2026 · github.com
Adoption
The project lists Chromium, LLVM, Protocol Buffers, and OpenCV among notable users.Read 1 Oct 2026 · github.com
Architecture
GoogleTest is based on the xUnit testing framework architecture.Read 1 Oct 2026 · github.com
Assertions
GoogleTest provides assertions for equality, inequality, exceptions, and other conditions, and supports user-defined assertions.Read 1 Oct 2026 · github.com
Build integration
GoogleTest provides quickstarts for Bazel and CMake.Read 1 Oct 2026 · google.github.io
C++ requirement
The 1.18.x branch requires at least C++17.Read 1 Oct 2026 · github.com
Documentation support
The user guide includes primer, advanced topics, mocking guides, FAQs, references, samples, and community documentation.Read 1 Oct 2026 · google.github.io
Failure handling
GoogleTest supports death tests plus fatal and non-fatal test failures.Read 1 Oct 2026 · github.com
Parameterized tests
GoogleTest supports value-parameterized and type-parameterized tests.Read 1 Oct 2026 · github.com
pkg-config
GoogleTest includes pkg-config files for compiling and linking GoogleTest and GoogleMock.Read 1 Oct 2026 · google.github.io
Run options
GoogleTest can run individual tests, tests in a specific order, and tests in parallel.Read 1 Oct 2026 · github.com
Supported platforms
GoogleTest follows Google’s Foundational C++ Support Policy and publishes supported compiler, platform, and build-tool versions.Read 1 Oct 2026 · google.github.io
Test discovery
GoogleTest automatically discovers and runs tests without requiring manual registration.Read 1 Oct 2026 · github.com
Testing scope
GoogleTest supports any kind of C++ tests, not just unit tests.Read 1 Oct 2026 · google.github.io

Plans and prices

GoogleTest Free free and open-source software · BSD 3-clause license Read 1 Oct 2026 · en.wikipedia.org

Every GoogleTest plan and price →

Strong points and limits

Strong points

  • Free and open source
  • Automatic test discovery
  • Built-in mocks and death tests
  • Parameterized and parallel execution
  • Bazel and CMake quickstarts

Limits

  • The 1.18.x branch requires C++17
  • Limited to C++ projects
  • BSD-3-Clause redistribution conditions apply

Who it suits

GoogleTest suits C++ developers who need unit, integration, death, parameterized, or mocked tests across Linux, macOS, and Windows. It is useful for projects using Bazel or CMake.

Verdict

GoogleTest covers a wide range of C++ testing workflows, with automatic discovery, mocking, parameterization, and parallel runs. Its current 1.18.x requirement and C++ focus should be checked against your toolchain.

Where Specifiction places it

Alternatives to GoogleTestAll alternatives →