awesome-repositories.com
Blog
awesome-repositories.com

Entdecke die besten Open-Source-Repositories mit KI-gestützter Suche.

EntdeckenKuratierte SuchenOpen-Source-AlternativenSelf-hosted SoftwareBlogSitemap
ProjektÜber unsRanking-MethodikPresseMCP-Server
RechtlichesDatenschutzAGB
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
philsquared avatar

philsquared/Catch

0
View on GitHub↗
20,456 Stars·3,240 Forks·C++·BSL-1.0·4 Aufrufediscord.gg/4CWS9zD↗

Catch

Catch is a C++ testing toolset providing frameworks for unit testing, behavior-driven development, and micro-benchmarking. It serves as a utility for software quality assurance and test-driven development, allowing developers to validate code correctness and measure the execution time of small code fragments.

The project features a header-only distribution, enabling integration by including a single file. It utilizes expression-decomposition assertions to provide detailed failure messages and employs a self-registering test discovery system that uses macros to register test cases without manual configuration.

The framework supports hierarchical test grouping through nested sections and tags. It further provides high-resolution clock-based timing for performance analysis and structures tests around human-readable requirements for behavior-driven development.

Features

  • C++ Unit Testing - Provides a comprehensive unit testing framework for validating C++ code correctness through assertions.
  • Micro-Benchmarking - Implements a micro-benchmarking tool to identify performance bottlenecks in C++ code segments.
  • C++ Microbenchmarking - Enables high-precision measurement of execution time for small, isolated C++ code fragments.
  • Preprocessor-Defined Test Registrations - Uses preprocessor macros to automatically register test cases at startup for seamless discovery.
  • Behavior Driven Development Frameworks - Provides a framework for structuring C++ tests around human-readable requirements and system behaviors.
  • Automatic Test Discovery - Employs static initialization for automatic test discovery, removing the need for manual test registration lists.
  • Unit Testing Frameworks - Provides a full-featured unit testing framework for defining and executing automated C++ tests.
  • Header-Only Libraries - Distributed as a header-only library to simplify integration by including a single file.
  • Performance Benchmarks - Includes tools for measuring and tracking the execution performance of small code fragments.
  • Test-Driven Development Workflow - Supports an iterative design process by providing the tooling necessary to write failing tests before implementation.
  • Expression Decomposition - Implements expression decomposition to log the actual values of operands when a boolean assertion fails.
  • Execution Time Benchmarks - Provides high-resolution timing benchmarks to measure the execution duration of small C++ code fragments.
  • Hierarchical Suite Grouping - Supports organizing tests into nested sections and tags to manage shared setup and selective execution.
  • Debugging and Testing - Modern, header-only C++ unit testing framework.
  • Test-Frameworks - Unit testing framework.

Star-Verlauf

Star-Verlauf für philsquared/catchStar-Verlauf für philsquared/catch

KI-Suche

Entdecke weitere awesome Repositories

Beschreibe in einfachen Worten, was du brauchst — die KI bewertet tausende kuratierte Open-Source-Projekte nach Relevanz.

Start searching with AI

Open-Source-Alternativen zu Catch

Ähnliche Open-Source-Projekte, sortiert nach der Anzahl der gemeinsamen Funktionen mit Catch.
  • doctest/doctestAvatar von doctest

    doctest/doctest

    6,765Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗6,765
  • catchorg/catch2Avatar von catchorg

    catchorg/Catch2

    20,198Auf GitHub ansehen↗

    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
    Auf GitHub ansehen↗20,198
  • junit-team/junit4Avatar von junit-team

    junit-team/junit4

    8,525Auf GitHub ansehen↗

    JUnit 4 is a unit testing framework for Java that provides a structured approach to writing and running automated tests. At its core, it uses annotation-based test discovery to automatically identify test methods, and a pluggable runner architecture that controls how test classes are discovered, instantiated, and executed. The framework builds test execution around a chain of Statement objects, each wrapping the next to layer behaviors such as timeouts and retries, and uses Java reflection to dynamically invoke test methods and access private fields for setup and teardown operations. The fram

    Java
    Auf GitHub ansehen↗8,525
  • onqtam/doctestAvatar von onqtam

    onqtam/doctest

    6,768Auf GitHub ansehen↗

    doctest is a unit testing framework and assertion library for C++ delivered as a single-header library. It provides a test runner with a command line interface to execute tests, filter test suites, and generate execution reports. The framework supports in-source unit testing and allows for the complete removal of testing logic from compiled binaries via preprocessor stripping to eliminate performance overhead in production environments. It also enables cross-binary test registry sharing, allowing one executable to utilize the test runner of another. Capabilities include parameterized testing

    C++
    Auf GitHub ansehen↗6,768
Alle 30 Alternativen zu Catch anzeigen→

Häufig gestellte Fragen

Was macht philsquared/catch?

Catch is a C++ testing toolset providing frameworks for unit testing, behavior-driven development, and micro-benchmarking. It serves as a utility for software quality assurance and test-driven development, allowing developers to validate code correctness and measure the execution time of small code fragments.

Was sind die Hauptfunktionen von philsquared/catch?

Die Hauptfunktionen von philsquared/catch sind: C++ Unit Testing, Micro-Benchmarking, C++ Microbenchmarking, Preprocessor-Defined Test Registrations, Behavior Driven Development Frameworks, Automatic Test Discovery, Unit Testing Frameworks, Header-Only Libraries.

Welche Open-Source-Alternativen gibt es zu philsquared/catch?

Open-Source-Alternativen zu philsquared/catch sind unter anderem: 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,… junit-team/junit4 — JUnit 4 is a unit testing framework for Java that provides a structured approach to writing and running automated… onqtam/doctest — doctest is a unit testing framework and assertion library for C++ delivered as a single-header library. It provides a… jasmine/jasmine — Jasmine is a JavaScript testing framework and test runner designed for behavior-driven development. It provides a… throwtheswitch/unity — Unity is a lightweight unit testing framework for C, providing the assertion library, test runner, and reporting…