FakeIt VS Catch

Compare FakeIt vs Catch and see what are their differences.

FakeIt

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

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
  • Scout APM - Less time debugging, more time building
  • SonarQube - Static code analysis for 29 languages.
  • SaaSHub - Software Alternatives and Reviews
FakeIt Catch
2 32
983 15,233
- 0.7%
6.8 9.5
5 days ago 6 days ago
C++ C++
MIT License 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.

FakeIt

Posts with mentions or reviews of FakeIt. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-19.

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 2022-07-01.
  • What's next after learncpp.com?
    6 projects | reddit.com/r/cpp | 1 Jul 2022
    It's also very useful to get to grips with using some popular libraries. Some might be ones that you'll find yourself using everywhere (e.g. fmt, spdlog, catch2), and some that have more specific usage, but are good to try out and explore what C++ can do in a ridiculously easy-to-use manner (e.g. crow, Dear ImGui). Make some toy projects that use some of these and you'll learn a lot.
  • MicroService Framework in C++
    2 projects | dev.to | 24 May 2022
    $ git clone https://github.com/catchorg/Catch2.git $ cd Catch2 $ cmake -Bbuild -H. -DBUILD_TESTING=OFF $ sudo cmake --build build/ --target install
  • How to make my Boost unit testing work?
    3 projects | reddit.com/r/cpp_questions | 20 May 2022
    Swap Boost Test for something better and more modern. The current industry standard is Catch2 and google test. There are much better documentation available on how to use those than the ancient and dying boost stuff.
  • Testing framework Catch2 3.0 final released
    3 projects | reddit.com/r/cpp | 17 May 2022
  • Conan is not installed
    1 project | reddit.com/r/cpp_questions | 23 Apr 2022
    It's just a couple of versions behind actually, and the latest version was released 11 days ago, but if you absolutely need the latest version, and conan isn't working, your best option would be to manually compile it or use it from the github repo of catch2, and this should be very simple considering you're on Linux
  • I cannot for the life of me figure out how to get libraries working
    2 projects | reddit.com/r/cpp | 6 Apr 2022
    Conan or Vcpkg are probably the best way forward to begin with. Seriously, stop what you are doing and go try those out on something simpler first, e.g. A hello world using fmtfmt, or a unit test using catch2.
  • C++17 python like print function
    4 projects | reddit.com/r/embedded | 9 Mar 2022
    For stuff like this which is very easy to test (very predefined input vs output), I highly suggest using some testing framework. Catch2 is great, but there is also doctest and good ole googletest. If you do this, it would also be a great intro to CI, where you do some plumbing on github or gitlab where every commit causes a build to happen on their servers and run through the unit tests, and if it passes it gets merged into master.
  • Running unit tests on a C project (like an OS kernel) that redefines built-in functions.
    4 projects | reddit.com/r/cmake | 1 Mar 2022
    The following questions that I have are platform and testing framework agnostic but in the interest of being precise, I have been trying to set up CMake so that it is able to run a simple "Catch2" unit test. I'm use CLion as my test runner to make life easy and everything is running on Ubuntu 18.04.
  • Unit test framework with multiple template parameters
    1 project | reddit.com/r/cpp_questions | 19 Feb 2022
  • From Julia to C++ Struggle
    5 projects | reddit.com/r/Julia | 9 Feb 2022
    Again, there is no standard testing suite so you would have to pick a third party library (that preferably integrates with your build system). Popular choices are the google test framework and catch2

What are some alternatives?

When comparing FakeIt 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 single-header testing framework

Boost.Test - The reference C++ unit testing framework (TDD, xUnit, C++03/11/14/17)

trompeloeil - Header only C++14 mocking framework

CppUnit - C++ port of JUnit

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

Google Mock

benchmark - A microbenchmark support library

catch2-with-gmock - Exmaple of using Catch2 with GMock

Hippomocks

Unity Test API - Simple Unit Testing for C

UnitTest++ - A lightweight unit testing framework for C++