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

Découvrez les meilleurs dépôts open-source grâce à notre recherche par IA.

ExplorerRecherches sélectionnéesAlternatives open sourceLogiciels auto-hébergésBlogPlan du site
ProjetÀ proposNotre méthodologiePresseServeur MCP
Mentions légalesConfidentialitéConditions d'utilisation
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
onqtam avatar

onqtam/doctest

0
View on GitHub↗
6,768 stars·691 forks·C++·MIT·10 vuesbit.ly/doctest-docs↗

Doctest

doctest est un framework de tests unitaires et une bibliothèque d'assertions pour C++ livrée sous forme de bibliothèque à en-tête unique. Il fournit un exécuteur de tests avec une interface en ligne de commande pour exécuter les tests, filtrer les suites de tests et générer des rapports d'exécution.

Le framework prend en charge les tests unitaires in-source et permet la suppression complète de la logique de test des binaires compilés via le stripping par préprocesseur afin d'éliminer la surcharge de performance dans les environnements de production. Il permet également le partage de registres de tests entre binaires, permettant à un exécutable d'utiliser l'exécuteur de tests d'un autre.

Les capacités incluent les tests paramétrés, la vérification d'assertions thread-safe pour la validation de logiciels concurrents, et la génération automatique de rapports de tests pour l'analyse de régression. Il utilise l'enregistrement automatique des tests pour collecter les cas de test sans nécessiter de listes manuelles de fonctions à exécuter.

Features

  • Unit Testing Frameworks - Provides a comprehensive framework for writing and executing isolated unit tests to verify C++ logic.
  • Thread-Safe Assertions - Implements thread-safe assertion verification to validate shared data consistency in concurrent software.
  • Testing Logic Stripping - Allows the complete removal of testing logic from compiled binaries via preprocessor stripping for production environments.
  • Production Logic Exclusion - Provides a mechanism to remove all testing logic from the compiled executable to eliminate production performance overhead.
  • Header-Only Libraries - Delivered as a single-header library to simplify integration and eliminate separate compilation steps.
  • Production Build Modes - Optimizes production builds by disabling development-only debugging and testing features.
  • Test Execution Controls - Provides controls for executing specific test suites and defining their behavior via the command line.
  • Assertion and Validation Utilities - Implements a system to define test conditions and assertions that report failures when expectations are not met.
  • Assertion Libraries - Ships a set of assertion macros to validate code conditions and verify invariants during test execution.
  • Test Execution Runners - Provides a command-line interface to manage the lifecycle, filtering, and execution of registered test suites.
  • Thread-Safe Assertion Recording - Implements internal locking mechanisms to safely record and report test failures occurring across multiple concurrent threads.
  • Static Registration - Implements static registration to collect test cases into registries at compile time using preprocessor macros.
  • Concurrent Assertion Validation - Enables checking conditions across multiple threads to ensure shared data remains consistent and safe.
  • Test Result Reporters - Generates detailed summaries of test execution results to analyze passed and failed cases.
  • Test Parameterization - Provides utilities to execute the same test logic across multiple sets of input data.
  • In-Source Testing - Allows the creation and execution of test cases and assertions directly within the C++ source files.
  • Regression Testing Suites - Supports executing parameterized test cases across multiple input sets to prevent software regressions.
  • Expression Decomposition - Employs C++ templates to decompose expressions into strings for detailed error reporting upon assertion failure.
  • Cross-Binary Registry Sharing - Enables cross-binary test registry sharing, allowing one executable to utilize the test runner of another.
  • Testing and Benchmarking - Lightweight single-header testing framework.
  • Testing and Debugging - Lightweight, feature-rich single-header testing framework.
  • Frameworks de test - Offers a fast, header-only C++ testing framework.

Historique des stars

Graphique de l'historique des stars pour onqtam/doctestGraphique de l'historique des stars pour onqtam/doctest

Recherche par IA

Explorez plus de dépôts awesome

Décrivez vos besoins en langage naturel — l'IA classe des milliers de projets open source sélectionnés par pertinence.

Start searching with AI

Alternatives open source à Doctest

Projets open source similaires, classés selon le nombre de fonctionnalités partagées avec Doctest.
  • doctest/doctestAvatar de doctest

    doctest/doctest

    6,765Voir sur GitHub↗

    doctest is a lightweight C++ unit testing framework and assertion library. It provides a single-header implementation that eliminates complex build dependencies, allowing developers to write and execute test cases directly within their source code. The framework is distinguished by its focus on compile-time performance and binary overhead. It uses conditional compilation guards to strip all testing logic and metadata from production binaries. Additionally, it features hierarchical subcases that re-execute parent setup code to isolate different execution paths within a single test case. Its c

    C++c-plus-pluscppcpp11
    Voir sur GitHub↗6,765
  • catchorg/catch2Avatar de catchorg

    catchorg/Catch2

    20,198Voir sur GitHub↗

    Catch2 is a comprehensive framework for C++ software validation, providing an environment for unit testing, integration verification, and performance analysis. It enables developers to define and execute automated test suites and micro-benchmarks directly within their applications. The framework is distinguished by its header-only distribution, which allows for integration into existing build systems without requiring complex external dependencies. It utilizes a hierarchical section-based execution model that supports behavior-driven testing, allowing for shared setup and teardown logic acros

    C++bddcppcpp14
    Voir sur GitHub↗20,198
  • vitest-dev/vitestAvatar de vitest-dev

    vitest-dev/vitest

    15,970Voir sur 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
    Voir sur GitHub↗15,970
  • thomhurst/tunitAvatar de thomhurst

    thomhurst/TUnit

    3,744Voir sur GitHub↗

    TUnit is a comprehensive C# testing framework, mocking library, and fluent assertion tool. It utilizes source generation for test discovery and mock creation, ensuring compatibility with Native AOT and IL trimming by eliminating the need for runtime reflection and proxies. The framework provides specialized capabilities for integration testing, including the management of distributed application lifecycles, isolated database schemas, and the correlation of telemetry and logs across process boundaries via OTLP. It also includes an HTTP testing utility to intercept network exchanges and mock AP

    C#csharpdotnettest
    Voir sur GitHub↗3,744
Voir les 30 alternatives à Doctest→

Questions fréquentes

Que fait onqtam/doctest ?

doctest est un framework de tests unitaires et une bibliothèque d'assertions pour C++ livrée sous forme de bibliothèque à en-tête unique. Il fournit un exécuteur de tests avec une interface en ligne de commande pour exécuter les tests, filtrer les suites de tests et générer des rapports d'exécution.

Quelles sont les fonctionnalités principales de onqtam/doctest ?

Les fonctionnalités principales de onqtam/doctest sont : Unit Testing Frameworks, Thread-Safe Assertions, Testing Logic Stripping, Production Logic Exclusion, Header-Only Libraries, Production Build Modes, Test Execution Controls, Assertion and Validation Utilities.

Quelles sont les alternatives open-source à onqtam/doctest ?

Les alternatives open-source à onqtam/doctest incluent : doctest/doctest — doctest is a lightweight C++ unit testing framework and assertion library. It provides a single-header implementation… catchorg/catch2 — Catch2 is a comprehensive framework for C++ software validation, providing an environment for unit testing,… vitest-dev/vitest — Vitest is a high-performance testing framework designed for JavaScript and TypeScript applications. It provides an… thomhurst/tunit — TUnit is a comprehensive C# testing framework, mocking library, and fluent assertion tool. It utilizes source… microsoft/playwright — Playwright is a comprehensive browser automation framework designed for end-to-end testing and web workflow… swiftlang/swift-testing — Swift Testing is a testing framework for the Swift programming language that provides a structured environment for…