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
·
Back to catchorg/catch2

Open-source alternatives to Catch2

30 open-source projects similar to catchorg/catch2, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Catch2 alternative.

  • onqtam/doctestonqtam avatar

    onqtam/doctest

    6,768View on GitHub↗

    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++
    View on GitHub↗6,768
  • philsquared/catchphilsquared avatar

    philsquared/Catch

    20,456View on GitHub↗

    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 manu

    C++
    View on GitHub↗20,456
  • doctest/doctestdoctest avatar

    doctest/doctest

    6,765View on 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
    View on GitHub↗6,765

AI search

Explore more awesome repositories

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

Find more with AI search
  • quii/learn-go-with-testsquii avatar

    quii/learn-go-with-tests

    23,510View on GitHub↗

    This project is an educational platform and tutorial series designed to teach the Go programming language through the practice of test-driven development. It provides a structured path for developers to master language fundamentals, concurrency, and standard library usage by building functional applications in small, verifiable increments. The core methodology centers on the test-driven development cycle, where failing tests are written before implementation to define requirements and ensure code correctness. This approach is applied across a wide range of practical scenarios, including the c

    Gogogolangtdd
    View on GitHub↗23,510
  • 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
  • dascandy/hippomocksdascandy avatar

    dascandy/hippomocks

    201View on GitHub↗

    Hippomocks

    C++
    View on GitHub↗201
  • siu/minunitsiu avatar

    siu/minunit

    635View on GitHub↗

    Minimal unit testing framework for C

    C
    View on GitHub↗635
  • typicode/json-servertypicode avatar

    typicode/json-server

    75,614View on GitHub↗

    json-server is a development toolset used to simulate a full REST API from a JSON file. It functions as a customizable mock API server that allows for the simulation of CRUD operations and resource relationships without the need to write backend code. The project enables rapid prototyping by generating a fake backend that persists data changes back to a local JSON file. It distinguishes itself by providing a static asset file server to deliver local documents, images, and stylesheets alongside the mock API endpoints. The server includes capabilities for data querying, such as parameter-based

    JavaScriptapifakefrontend
    View on GitHub↗75,614
  • eranpeer/fakeiteranpeer avatar

    eranpeer/FakeIt

    1,364View on GitHub↗

    C++ mocking made easy. A simple yet very expressive, headers only library for c++ mocking.

    C++
    View on GitHub↗1,364
  • google/googletestgoogle avatar

    google/googletest

    38,713View on GitHub↗

    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 v

    C++
    View on GitHub↗38,713
  • cpputest/cpputestcpputest avatar

    cpputest/cpputest

    1,472View on GitHub↗

    CppUTest unit testing and mocking framework for C/C++

    C++
    View on GitHub↗1,472
  • pytest-dev/pytestpytest-dev avatar

    pytest-dev/pytest

    13,645View on GitHub↗

    pytest is a testing framework for Python that provides a command-line runner for discovering and executing test suites. It is built on a modular architecture that uses standard language assertions to verify code correctness, automatically inspecting expressions to provide detailed failure reports without requiring specialized assertion methods. The framework distinguishes itself through a dependency injection system that manages setup and teardown logic by automatically resolving and injecting resources into test functions. It also features a hook-based plugin architecture that allows for dee

    Pythonhacktoberfestpythontest
    View on GitHub↗13,645
  • pybind/pybind11pybind avatar

    pybind/pybind11

    17,913View on GitHub↗

    pybind11 is a header-only C++ binding library that exposes C++ functions and classes as Python modules. It serves as a language bridge, mapping native types, inheritance hierarchies, and lambda functions into compatible Python objects to enable high-performance native code execution. The library includes specialized integration for NumPy arrays, utilizing buffer protocols to bind native C++ data without copying memory. It provides a toolkit for mapping C++ standard library data structures and smart pointers into the Python environment while maintaining cross-language memory management. The p

    C++
    View on GitHub↗17,913
  • fffaraz/awesome-cppfffaraz avatar

    fffaraz/awesome-cpp

    71,817View on GitHub↗

    This project is a comprehensive, curated directory of high-quality libraries, tools, and educational resources for C and C++ development. It serves as an ecosystem discovery index, helping developers navigate the vast landscape of third-party components, frameworks, and technical documentation available for the language. The collection is distinguished by its focus on high-performance systems programming and technical mastery. It provides deep coverage of specialized domains including SIMD-accelerated data processing, compile-time template metaprogramming, and asynchronous event-driven archit

    awesomeawesome-listc
    View on GitHub↗71,817
  • pegasuswang/python_data_structures_and_algorithmsPegasusWang avatar

    PegasusWang/python_data_structures_and_algorithms

    3,078View on GitHub↗

    This repository is a comprehensive educational resource for mastering fundamental computer science concepts through Python. It provides a structured collection of source code implementations for classic data structures and algorithms, serving as a practical guide for building technical proficiency and preparing for coding interviews. The project distinguishes itself by integrating visual aids and diagrams that map complex execution steps to clarify how data structures function. This visual approach is paired with a rigorous automated unit testing framework, which validates the correctness of

    Pythonalgorithmdatastructurespython3
    View on GitHub↗3,078
  • mockito/mockitomockito avatar

    mockito/mockito

    15,432View on GitHub↗

    Mockito is a Java mocking framework and JUnit testing library used to create simulated objects and stub method calls to isolate components during unit tests. It functions as a dynamic proxy generator and bytecode instrumentation tool, allowing for the creation of runtime substitutes that mimic the behavior of real classes. The framework distinguishes itself by providing the ability to mock final classes and methods, bypassing standard language restrictions through bytecode modification. This capability enables the testing of legacy code that lacks interfaces. The toolset covers behavioral mo

    Java
    View on GitHub↗15,432
  • jquery/qunitjquery avatar

    jquery/qunit

    4,035View on GitHub↗

    QUnit is a JavaScript unit testing framework designed to verify code behavior using assertions and lifecycle hooks across browsers and server runtimes. It functions as a browser-based test runner with an HTML interface for reporting results, an asynchronous test orchestrator for coordinating callbacks, and a utility for isolating and verifying document object model changes. The framework distinguishes itself through specialized DOM testing capabilities, allowing for the isolation and resetting of the document object model between tests to ensure atomicity. It also features a system for detect

    JavaScript
    View on GitHub↗4,035
  • junit-team/junit4junit-team avatar

    junit-team/junit4

    8,525View on GitHub↗

    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
    View on GitHub↗8,525
  • nasa/fprimenasa avatar

    nasa/fprime

    10,766View on GitHub↗

    F Prime is a component-based framework designed for the development and deployment of embedded and spaceflight software. It provides a modular architecture that decouples software logic from communication interfaces, allowing developers to define system structures through a domain-specific modeling language. This model-based approach enables automated code generation, ensuring consistency across complex system topologies while maintaining strict interface contracts between software modules. The framework distinguishes itself through its integrated build system and ground data operations suite

    C++componentscppembedded
    View on GitHub↗10,766
  • throwtheswitch/unityThrowTheSwitch avatar

    ThrowTheSwitch/Unity

    5,265View on GitHub↗

    Unity is a lightweight unit testing framework for C, providing the assertion library, test runner, and reporting mechanisms required to verify code correctness. It functions as core testing infrastructure for organizing and executing unit tests in C environments. The framework is designed for system-level and embedded software validation, with specific capabilities for verifying firmware and hardware drivers. It focuses on memory integrity and pointer validity, allowing for the validation of pointer states and the inspection of raw memory blocks. The toolset covers a broad range of compariso

    C
    View on GitHub↗5,265
  • xunit/xunitxunit avatar

    xunit/xunit

    4,535View on GitHub↗

    xunit is a unit testing framework for the .NET ecosystem designed to execute isolated code units and report failures across multiple platforms. It functions as a data-driven test runner and a native AOT test suite, capable of verifying compiled binaries and standalone executables after ahead-of-time compilation. The framework utilizes build-time source generators for test discovery to define test cases without relying on runtime reflection. It also features an extensible reporting system where custom logic can be linked into test assemblies to output results in specialized formats. The proje

    C#c-sharpdotnetunit-testing
    View on GitHub↗4,535
  • junit-team/junit-frameworkjunit-team avatar

    junit-team/junit-framework

    7,032View on GitHub↗

    This project is a JVM testing framework that provides a foundation for defining and running automated tests using a pluggable engine architecture. It functions as a JVM test orchestrator and a modular test engine API, allowing multiple testing engines to be grouped and executed as a single coordinated unit. The framework includes a platform launcher for discovering and executing test suites from build systems, integrated development environments, or the command line. It enables the creation of custom testing frameworks through a standardized interface that integrates into a shared execution p

    Javajavajunitjunit-jupiter
    View on GitHub↗7,032
  • facebook/jestfacebook avatar

    facebook/jest

    45,448View on GitHub↗

    Jest is a JavaScript testing framework that integrates a test runner, an assertion library, and a snapshot testing tool. Its primary purpose is to provide a comprehensive environment for writing and running automated JavaScript tests to verify software correctness. The framework is distinguished by its snapshot testing capabilities, which capture the state of large objects or rendered components to detect regressions over time. It also features a reactive watch mode that monitors file changes and automatically executes only the tests related to modified code. The project covers a broad range

    TypeScript
    View on GitHub↗45,448
  • robotframework/robotframeworkrobotframework avatar

    robotframework/robotframework

    11,428View on GitHub↗

    Robot Framework is a keyword-driven automation framework designed for acceptance testing and robotic process automation. It utilizes a human-readable, tabular syntax to define test cases and workflows, separating the automation logic from the underlying implementation. By mapping plain-text keywords to executable commands, the framework enables the creation of maintainable and reusable automation sequences. The platform distinguishes itself through a modular architecture that supports the integration of custom libraries and external modules. This extensibility allows users to expand the frame

    Pythonattdautomationbdd
    View on GitHub↗11,428
  • clojure/clojurescriptclojure avatar

    clojure/clojurescript

    9,388View on GitHub↗

    ClojureScript is a Lisp-based compiler and runtime that translates Clojure source code into JavaScript. It enables functional programming across different JavaScript engines and platforms, allowing developers to build user interfaces and applications for web browsers and server environments. The project provides a read-eval-print loop for executing code live within a browser or server for immediate feedback. This facilitates an interactive development workflow where code can be written and tested in real time without restarting the application. The system covers a broad capability surface, i

    Clojure
    View on GitHub↗9,388
  • codeigniter4/codeigniter4codeigniter4 avatar

    codeigniter4/CodeIgniter4

    5,924View on GitHub↗

    CodeIgniter is a PHP web framework built on the Model-View-Controller pattern, designed for building full-stack web applications. It provides a lightweight toolkit with minimal configuration, organizing application logic into controllers, models, and views for clean separation of concerns. The framework includes a fluent query builder for constructing SQL statements programmatically, PSR-4 autoloading with namespace mapping, and a service-based dependency injection container for managing shared class instances. The framework distinguishes itself through its comprehensive set of built-in tools

    PHPcodeignitercodeigniter4framework-php
    View on GitHub↗5,924
  • quick/quickQuick avatar

    Quick/Quick

    9,830View on GitHub↗

    Quick is a behavior-driven development framework and testing tool for Swift and Objective-C. It functions as both a testing framework and an assertion library, providing the structures necessary to write and run automated tests. The project focuses on organizing test suites into nested, human-readable requirements to define expected software behavior. This approach allows developers to structure tests in a descriptive format that translates technical requirements into readable specifications. The framework covers functional validation and quality assurance for Apple platform development. It

    Swiftbddcarthagecocoapods
    View on GitHub↗9,830
  • jasmine/jasminejasmine avatar

    jasmine/jasmine

    15,824View on GitHub↗

    Jasmine is a JavaScript testing framework and test runner designed for behavior-driven development. It provides a comprehensive toolset for writing and executing descriptive test suites that verify code behavior in both web browsers and Node.js environments. The framework is distinguished by its integrated mocking library, which allows for dependency isolation through spies and stubs, as well as the ability to simulate time and timing functions to test asynchronous logic synchronously. It also includes a mechanism to enforce test uniqueness, preventing duplicate names for tests and suites. I

    JavaScript
    View on GitHub↗15,824
  • labs42io/clean-code-typescriptlabs42io avatar

    labs42io/clean-code-typescript

    9,764View on GitHub↗

    This project is a set of software engineering standards and architectural patterns for writing maintainable and refactorable TypeScript code. It provides a comprehensive guide for implementing clean code principles, focusing on the application of SOLID design and structural patterns to build decoupled systems. The framework prioritizes composition over inheritance and utilizes dependency inversion to reduce system coupling. It establishes standards for strict static typing and the use of read-only modifiers to ensure type safety and eliminate runtime errors. The guidance covers a broad range

    TypeScriptbest-practicesclean-architectureclean-code
    View on GitHub↗9,764
  • microsoft/playwrightmicrosoft avatar

    microsoft/playwright

    91,074View on GitHub↗

    Playwright is a comprehensive browser automation framework designed for end-to-end testing and web workflow automation. It provides a unified API to drive web applications across multiple browser engines, enabling developers to simulate complex user interactions, perform web scraping, and validate application behavior in consistent, isolated environments. The framework distinguishes itself through a web-first testing paradigm that prioritizes stability and resilience. By utilizing an auto-waiting actionability engine and accessibility-tree-based locators, it eliminates common sources of test

    TypeScriptautomationchromechromium
    View on GitHub↗91,074