GoogleTest: C++ testing and mocking framework
xUnit-based C++ testing framework with integrated mocking.
Learn more about GoogleTest
GoogleTest is a C++ unit testing framework based on the xUnit architecture that automates test discovery and execution. It is implemented in C++ and requires C++17 or later as of version 1.17.0. The framework supports both fatal and non-fatal test failures, value-parameterized tests with multiple input values, type-parameterized tests across different data types, and death tests for verifying program exit behavior. It is used in large-scale projects including Chromium, LLVM, Protocol Buffers, and OpenCV for validating C++ code correctness.
Unified Testing Framework
Combines unit testing and mocking in a single maintained codebase, eliminating the need to manage separate GoogleTest and GoogleMock dependencies. Simplifies build configuration and version compatibility for projects requiring both capabilities.
Parameterized Test Variants
Supports value-parameterized tests with different input values and type-parameterized tests across multiple data types. Reduces code duplication when testing functions with varying inputs or validating generic implementations.
Death Test Support
Verifies that code properly terminates under expected conditions by testing exit codes and error messages. Death tests ensure crash handlers and fatal error paths work correctly without crashing the test runner itself.
#include <gtest/gtest.h>
int Add(int a, int b) { return a + b; }
TEST(MathTest, AdditionWorks) {
EXPECT_EQ(Add(2, 3), 5);
EXPECT_EQ(Add(-1, 1), 0);
EXPECT_NE(Add(2, 2), 5);
}
int main(int argc, char **argv) {
testing::InitGoogleTest(&argc, argv);
return RUN_ALL_TESTS();
}Top in Developer Tools
Related Repositories
Discover similar tools and frameworks used by developers
Git
Snapshot-based version control with distributed repository architecture.
Mermaid Live Editor
SvelteKit application for authoring and rendering Mermaid diagrams.
Cursor
Local code editor with integrated LLM assistance.
yay
Go-based AUR helper for Arch Linux that manages packages with dependency resolution and PKGBUILD support.
Playwright
Cross-browser automation framework with built-in test runner.