awesome-repositories.com
Blog
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
google avatar

google/googletest

0
View on GitHub↗
38,713 stars·10,791 forks·C++·BSD-3-Clause·14 viewsgoogle.github.io/googletest↗

Googletest

This project is a comprehensive C++ unit testing framework designed to verify code logic and identify regressions through a suite of assertion macros, test fixtures, and execution runners. It automates the discovery and registration of test cases during static initialization, allowing developers to define isolated test environments that ensure repeatable and predictable conditions for every execution.

The framework distinguishes itself through a sophisticated mock object library that enables the simulation of components and the enforcement of strict interaction requirements. By intercepting virtual method calls, it allows for precise validation of argument patterns, call counts, and return behaviors. This expectation-driven approach is complemented by a declarative assertion language and a data-driven engine, which together support complex validation of data structures, container contents, and function outcomes across varied input configurations.

Beyond core verification, the project provides extensive lifecycle monitoring and event-listener interfaces, enabling integration with external reporting and logging systems. It includes robust support for parameterized test generation, custom mock extensions, and process termination verification, ensuring that developers can handle diverse testing scenarios and unique validation requirements.

The framework integrates directly into standard build systems, managing project dependencies and compiler configurations to maintain consistency across development environments. It is distributed as a source-based library that utilizes standard configuration files to automate environment setup and test binary execution.

Features

  • Testing Frameworks - Provides assertion macros, test fixtures, and execution runners to verify code logic and identify regressions.
  • Test Configuration - Groups individual test functions using automated registration mechanisms to provide a clear overview of status.
  • Test Runners - Provides command-line control over test filtering, execution order, and output formatting.
  • Mocking Frameworks - Intercepts calls to virtual functions by overriding interface methods and routing execution through an expectation-matching engine.
  • Test Execution Management - Orchestrates the execution of registered tests and provides final status reporting via exit codes.
  • Test Infrastructure - Provides mechanisms to register global setup and teardown logic for consistent test environments.
  • Input Validation - Verifies function inputs by checking for exact values or custom validation logic during test execution.
  • Embedded Software Libraries - Comprehensive C++ unit testing framework.
  • Embedded Utility Libraries - Comprehensive C++ testing and mocking framework.
  • Testing and Benchmarking - Library for writing C++ tests and mocks.
  • Testing and Debugging - Library for writing mock classes and unit tests.
  • Testing Frameworks - Provides a C++ test framework.
  • Test Data Management - Shares common data and setup logic across tests to ensure predictable and isolated conditions.
  • Test Utilities & Assertions - Evaluates boolean conditions and captures diagnostic information by streaming failure details into a centralized reporting system.
  • Test Reporters - A hook-based interface that monitors test execution progress and reports results to external systems or custom logging outputs.
  • Test Isolation - Creating simulated components and defining expected behaviors to isolate specific code units during testing without relying on real dependencies.

Star history

Star history chart for google/googletestStar history chart for google/googletest

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does google/googletest do?

This project is a comprehensive C++ unit testing framework designed to verify code logic and identify regressions through a suite of assertion macros, test fixtures, and execution runners. It automates the discovery and registration of test cases during static initialization, allowing developers to define isolated test environments that ensure repeatable and predictable conditions for every execution.

What are the main features of google/googletest?

The main features of google/googletest are: Testing Frameworks, Test Configuration, Test Runners, Mocking Frameworks, Test Execution Management, Test Infrastructure, Input Validation, Embedded Software Libraries.

What are some open-source alternatives to google/googletest?

Open-source alternatives to google/googletest include: seleniumhq/selenium — Selenium is a comprehensive browser automation framework that provides a standardized interface for controlling web… goldbergyoni/javascript-testing-best-practices — This project is a comprehensive knowledge base and educational resource for JavaScript developers, focused on… stretchr/testify — Testify is a comprehensive testing toolkit for Go that provides a suite of assertion libraries and mocking frameworks… vitest-dev/vitest — Vitest is a high-performance testing framework designed for JavaScript and TypeScript applications. It provides an… encode/django-rest-framework — Django REST Framework is a toolkit for building standards-compliant web services that map complex data models to… nextest-rs/nextest — nextest is a high-performance test execution framework and Rust test runner designed to manage parallelism, retries,…

Open-source alternatives to Googletest

Similar open-source projects, ranked by how many features they share with Googletest.
  • seleniumhq/seleniumSeleniumHQ avatar

    SeleniumHQ/selenium

    34,203View on GitHub↗

    Selenium is a comprehensive browser automation framework that provides a standardized interface for controlling web browsers to perform automated tasks, user interactions, and data extraction. It functions as a cross-browser testing tool, enabling developers to execute identical automation scripts across various browser engines and operating systems to ensure consistent application behavior. By implementing the WebDriver protocol, it maps high-level automation commands to browser-specific drivers using a standardized HTTP-based wire protocol. The project distinguishes itself through its distr

    Javadotnetjavajavascript
    View on GitHub↗34,203
  • goldbergyoni/javascript-testing-best-practicesgoldbergyoni avatar

    goldbergyoni/javascript-testing-best-practices

    24,589View on GitHub↗

    This project is a comprehensive knowledge base and educational resource for JavaScript developers, focused on establishing industry-standard methodologies for automated software testing. It provides a structured collection of design patterns and actionable guidelines designed to improve code reliability, maintainability, and overall software quality across the development lifecycle. The repository distinguishes itself by offering a granular, pattern-based approach to testing that spans unit, integration, and end-to-end verification. It emphasizes specific architectural strategies such as comp

    JavaScriptangularchaici
    View on GitHub↗24,589
  • stretchr/testifystretchr avatar

    stretchr/testify

    25,861View on GitHub↗

    Testify is a comprehensive testing toolkit for Go that provides a suite of assertion libraries and mocking frameworks to validate code behavior. It enables developers to write automated tests by comparing actual results against expected outcomes, ensuring that functional requirements are met throughout the development process. The project distinguishes itself through its flexible failure propagation, which allows tests to either halt execution immediately upon a failed requirement or return boolean results for conditional logic. It includes deep-equality object comparison and JSON normalizati

    Goassertionsgogolang
    View on GitHub↗25,861
  • vitest-dev/vitestvitest-dev avatar

    vitest-dev/vitest

    15,970View on GitHub↗

    Vitest is a high-performance testing framework designed for JavaScript and TypeScript applications. It provides an integrated environment that supports unit, integration, and browser-based testing, allowing developers to execute test suites natively without requiring separate build steps or complex configuration. The project distinguishes itself through a highly optimized execution model that leverages worker-thread isolation and on-demand module transformation to provide rapid feedback. It includes a comprehensive suite of mocking and spying utilities that allow for the interception of depen

    TypeScripttesttesting-toolsvite
    View on GitHub↗15,970
See all 30 alternatives to Googletest→