fff
A testing micro framework for creating function test doubles (by meekrosoft)
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)
Our great sponsors
fff | Catch | |
---|---|---|
12 | 55 | |
714 | 17,898 | |
- | 1.3% | |
3.6 | 9.2 | |
5 months ago | 2 days ago | |
C | C++ | |
GNU General Public License v3.0 or later | Boost Software License 1.0 |
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.
fff
Posts with mentions or reviews of fff.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-06-20.
- Don't Use Mocks
-
Like seriously why does not one does it ?
Only cool framework in my opinion. I wish I had the guts to delve so deeply into Variadic Macros.
-
commonly used c-unit testing framework in 2022?
I use Unity Fixtues + FFF + CException framework.
-
Relative Newbie to Linux Command Line
For news reading, surely, I'd go with newsboat, perfect for this. Newsboat also fetches Odysee and Youtube channels, and you can integrate mpv to it to watch the videos. No ads, nothing. For file manager, I'm using fff, very minimal and relatively easy to configure.
-
industry standard for Test frameworks?
Also recommend checking out fff.
-
What techniques do you have to develop before hardware is available?
Everything else was covered: Ceedling+Unity+CMock for Unit Testing in C, CppuTest or GoogleTest or other options for C/C++. FFF is also useful when mocking. If you test and develop your modules correctly, they should when they are in your application. If you are developing using an Event-Driven Framework like QP or QML, then I would not test anything to do with the framework, but the functions that are called in each event. Same thing if you are using an RTOS, test what's inside your threads/tasks.
-
Unit Testing in C
Here is link number 1 - Previous text "fff"
There are plenty of frameworks for writing unittests but currently I prefer Unity and fff for creating fakes/stubs.
-
RFC on a C unit testing and Mocking library I am working on
Interesting! Always nice to see more of these kind of test tools for C. I'm currently using fff and Unity
-
What is your method for unit tests?
For unit tests in C, I use Unity for running the tests. Fake all functions that directly interact with hardware using FFF.
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 2023-12-05.
-
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)
-
`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)
set(CATCH_VERSION "" CACHE STRING "") Include(FetchContent) FetchContent_Declare(Catch2 URL https://github.com/catchorg/Catch2/archive/refs/tags/v${CATCH_VERSION}.tar.gz ) FetchContent_MakeAvailable(Catch2) target_link_libraries( Catch2::Catch2)
-
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
-
Seeking Improve Advice on my C++ Network Library
Unit test coverage by Catch2 framework.
-
snitch v1.0 -- A lightweight C++20 testing framework
Looks good but currently at least REQUIRE (most likely all the other checks too but I didn't test that) fails to correctly evaluate some expressions, due to fundamental problems with macros. One example is described in this issue of the Catch2 repository.
-
IDE for CPP(leetcode)
However, you can use a unit test framework like GoogleTest or Catch2 whic creates a main() function for you which allows you to run single functions, as long as they have been created through some preprocessor macros. Then you can use a VS Code test adapter like this or this which may let you run a single test by right clicking it directly in VS Code.
-
CPM.cmake to make CMake's FetchContent easier
include(FetchContent) FetchContent_Declare( Catch2 GIT_REPOSITORY https://github.com/catchorg/Catch2.git GIT_TAG v3.0.0-preview4 ) FetchContent_Declare( fmt GIT_REPOSITORY https://github.com/fmtlib/fmt.git GIT_TAG 9.1.0 ) FetchContent_Declare( scnlib GIT_REPOSITORY https://github.com/eliaskosunen/scnlib.git GIT_TAG v1.1.2 ) FetchContent_MakeAvailable(Catch2 fmt scnlib)
-
New to C++
Make sure you write unit tests, I use gtest but catch2 is also good.
What are some alternatives?
When comparing fff and Catch 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
Boost.Test - The reference C++ unit testing framework (TDD, xUnit, C++03/11/14/17)
CppUTest - CppUTest unit testing and mocking framework for C/C++
Google Mock
CppUnit - C++ port of JUnit
benchmark - A microbenchmark support library
Unity Test API - Simple Unit Testing for C
UnitTest++ - A lightweight unit testing framework for C++