awesome-repositories.com
Blog
MCP
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
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·61 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.

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
  • 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

    How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

    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.

    Which projects share features with google/googletest?

    Projects with overlapping indexed features 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,…

    Projects sharing features with Googletest

    These projects share indexed features with Googletest. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
    • 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
    Compare all 30 related projects→