CppUTest
Catch
CppUTest | Catch | |
---|---|---|
1 | 59 | |
1,408 | 19,170 | |
1.2% | 1.2% | |
7.7 | 8.2 | |
9 days ago | 6 days ago | |
C++ | C++ | |
BSD 3-clause "New" or "Revised" License | gtkbook License |
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.
CppUTest
-
Tool Containerization Best Practices For Embedded Software Development
# Use the Debian base image as our starting point. FROM debian:bullseye # Install the required packages. RUN apt update -y && \ apt -y install g++=4:10.2.1-1 \ cmake=3.18.4-2+deb11u1 \ libtool=2.4.6-15 \ autoconf=2.69-14 \ git=1:2.30.2-1+deb11u2 \ gdb=10.1-1.7 \ wget=1.21-1+deb11u1 \ bzip2=1.0.8-4 \ make=4.3-4.1 \ stlink-tools=1.6.1+ds-3 # Clone and install CppUTest RUN git clone https://github.com/cpputest/cpputest WORKDIR /cpputest RUN autoreconf . -i && \ ./configure && \ make tdd ENV CPPUTEST_HOME=/cpputest # Set the working directory for your project WORKDIR /work # Download and set up the GNU Arm toolchain RUN wget https://developer.arm.com/-/media/Files/downloads/gnu-rm/10.3-2021.10/gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 && \ tar -xjf gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 && \ rm gcc-arm-none-eabi-10.3-2021.10-x86_64-linux.tar.bz2 && \ mv gcc-arm-none-eabi-10.3-2021.10 /opt/gcc-arm ENV PATH="/opt/gcc-arm/bin:${PATH}"
Catch
-
Functional Tests as a Tree of Continuations
The C++ testing framework Catch2 enables this kind of testing. The first time I saw it I couldn't figure out how some of the tests would even pass.
It turns out that using some evil macro magic, each test re-runs from the start for each inner section [1]. It also makes deduplicating setup code completely painless and natural.
You just have to get over the completely non-standard control flow. It's a good standard bearer for why metaprogramming is great, even if you're forced to do it in C/C++'s awful macro system.
[1] https://github.com/catchorg/Catch2/blob/devel/docs/tutorial....
-
Five Advanced Techniques to Improve Automated Testing by 50%
Identification: Use tools like pytest-rerunfailures, TestNg, and Catch2 to automatically rerun failed tests.
-
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
What are some alternatives?
Google Test - GoogleTest - Google Testing and Mocking Framework
CppUnit - C++ port of JUnit
doctest - The fastest feature-rich C++11/14/17/20/23 single-header testing framework
fff - A testing micro framework for creating function test doubles
Boost.Test - The reference C++ unit testing framework (TDD, xUnit, C++03/11/14/17)