Catch
A modern, C++-native, test framework for unit-tests, TDD and BDD - using C++14, C++17 and later (C++11 support is in v2.x branch, and C++03 on the Catch1.x branch) (by catchorg)
Boost.Test
The reference C++ unit testing framework (TDD, xUnit, C++03/11/14/17) (by boostorg)
Catch | Boost.Test | |
---|---|---|
57 | - | |
18,820 | 183 | |
0.8% | 0.5% | |
8.9 | 5.2 | |
21 days ago | 1 day ago | |
C++ | C++ | |
gtkbook License | gtkbook License |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Catch
Posts with mentions or reviews of Catch.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-10-17.
-
Unit Tests as Documentation
This is one area where a BDD style framework like catch2[0] really shines, IMO. The way tests are written in this style naturally lends itself to self-documenting each branch
[0]: https://github.com/catchorg/Catch2
-
Comparing C++ range libraries for filter+reverse case with non-trivial lambda
The code uses catch2 to test for correctness and performance. Catch2 is a unit testing framework for C++, but it also provides basic micro-benchmarking features. Unfortunately, it doesn't provide any way to visualise the results, so I created a script and submitted PR adding plotting capabilities to Catch.
- C++ Comparison Operator Craziness
-
How can I check the execution time of a program rendered in SFML?
https://github.com/catchorg/Catch2 (for unit testing, need to do timing yourself)
- Semi crise existentielle de développeur
-
`DestroyJavaVM()` failing on OpenJ9?
```c++ // https://github.com/catchorg/Catch2/tree/Catch1.x // https://github.com/philsquared/Catch/releases/download/v1.12.2/catch.hpp
-
How do you use the Catch testing library?
Include(FetchContent) FetchContent_Declare(Catch2 GIT_REPOSITORY https://github.com/catchorg/Catch2.git GIT_TAG v3.3.2 ) FetchContent_MakeAvailable(Catch2)
- Tracking the Fake GitHub Star Black Market
- The Little Things: Why you should always have benchmarks ready
-
Trying to add tests for my cmake for catch2 with ctest.
Another possible issue would be the include(Catch) in your root cmakelists.txt . To include Catch there it must be part of your module path. Otherwise you have to include the path to that catch2 cmake file. Here is that file in their repository - https://github.com/catchorg/Catch2/blob/devel/extras/Catch.cmake . I recon that CMake doesn't know about this file since you call find_package(Catch2 REQUIRED) later in your subdirectory
Boost.Test
Posts with mentions or reviews of Boost.Test.
We have used some of these posts to build our list of alternatives
and similar projects.
We haven't tracked posts mentioning Boost.Test yet.
Tracking mentions began in Dec 2020.
What are some alternatives?
When comparing Catch and Boost.Test you can also consider the following projects:
Google Test - GoogleTest - Google Testing and Mocking Framework
doctest - The fastest feature-rich C++11/14/17/20/23 single-header testing framework
Google Mock
CppUTest - CppUTest unit testing and mocking framework for C/C++
CppUnit - C++ port of JUnit
ut - C++20 μ(micro)/Unit Testing Framework
benchmark - A microbenchmark support library