Dev tools · alternatives · 2026
24 alternatives to Writing modern C unit tests with Criterion
A cross-platform C and C++ unit testing framework for the 21st century - Snaipe/Criterion
Criterion is a cross-platform unit testing framework designed for C and C++ developers who want modern testing capabilities. It provides a straightforward approach to writing and running tests for these languages… Below are 24 products that do a similar job, ranked by how close each is in meaning and then by launch-day votes. Writing modern C unit tests with Criterion launched in 2015; newer entries below may have overtaken it.
- 1

The fastest feature-rich C++11/14/17/20/23 single-header testing framework - doctest/doctest
2016 · github.com · its alternatives →
- 2

Smart pointers for the (GNU) C programming language - Snaipe/libcsptr
2015 · github.com · its alternatives →
- 3

Making Web Testing Easier Automated testing on 3000+ desktop & mobile browser at Studio version! Making Web Testing Easier Automated testing on 3000+ desktop & mobile browser at Studio version! Explore product trial and special offers Download TRIAL version to start your full 1 day evaluation now! M
2017 · browseemall.com · its alternatives →
- 4

Hi! I've been building a debugger on my nights and weekends because it's fun, and I personally need a better debugger for my work. GDB and LLDB pain me greatly; we can and will do better! As explained in the README, it's still very early-days and it's not ready for use yet, but check back often because it's improving all the time! Check out https://calabro.io/uscope for a more detailed explanation. Thanks for taking a look!
2025 · github.com · its alternatives →
- 5AC
I always strive to write better, clean and readable code. But I often find unit tests are hard to read, and especially harder to quickly identify what are the important pieces, or even what the test is testing about. So I came up with this lightweight library to help enforce unit tests with a Given-When-Then structure. I hope you find this useful. Any feedback are welcome. https://github.com/cobrakai-lab/Cobrakai.GWTUnit
2021 · its alternatives →
- 6

Open Source Feature Flags, Experimentation, and Product Analytics - growthbook/growthbook
2021 · github.com · its alternatives →
- 7

I love C and C++, but setting up projects can sometimes be a pain. Every time I wanted to start something new I'd spend the first hour writing CMakeLists.txt, figuring out find_package, copying boilerplate from my last project, and googling why my library isn't linking. By the time the project was actually set up I'd lost all momentum. So, I built Craft - a lightweight build and workflow tool for C and C++. Instead of writing CMake, your project configuration goes in a simple craft.toml: [project] name = "my_app" version = "0.1.0" language = "c" c_standard = 99 [build] type = "executable"…
Apr 2026 · github.com · its alternatives →
- 8
beLow▲176Inline insights with C/C++ that shows CPU, memory, energy
Dec 2025 · wedolow.com · its alternatives →
- 9

A C++ HTML template engine that uses compile time HTML parsing - rep-movsd/see-phit
2017 · github.com · its alternatives →
- 10GI
Hi all! I'm going into my freshman year, and figured that the best way to prepare for the intro to programming Racket course would be to implement my own garbage-collected, dynamically typed, functional programming language in C ;) Anyways... here's the repo: https://github.com/liam-ilan/crumb I started learning C over the summer, so I still have a whole lot to learn... Any feedback would be greatly appreciated! :D
2023 · its alternatives →
- 11

A lightweight single-header pattern-matching library for C++17 with macro-free APIs. Try it at https://godbolt.org/z/8YMr8Kz8j
2022 · github.com · its alternatives →
- 12

An analysis tool for Python that blurs the line between testing and type systems. - pschanely/CrossHair
2020 · github.com · its alternatives →
- 13

A cross-platform build utility based on Lua
2019 · xmake.io · its alternatives →
- 14

Repo: https://github.com/valdanylchuk/xcc700 Hi Everyone! I just wrote my first compiler! - single pass, recursive descent, direct emission - generates REL ELF binaries, runnable using ESP-IDF elf_loader - very basic features only, just enough for self-hosting - treats the Xtensa CPU as a stack machine for simplicity, no register allocation / window usage - compilable on Mac, probably also Linux, can cross-compile for esp32 there - wrote for fun / cyberdeck project Sample output from esp32: xcc700.elf xcc700.c -o /d/cc.elf [ xcc700 ] BUILD COMPLETED >…
Dec 2025 · github.com · its alternatives →
- 15

An approach for runtime detection inside a constexpr function - SaadAhmad/in_constexpr
2017 · github.com · its alternatives →
- 16MP
I have been working on this game somewhat sparsely for the past three years or so. However, it is still in a very early stage, and there is a lot of work to do. One of my friends encouraged me to post about it here, since he felt people might find interesting how I don’t use any libraries for it. The game can be played on a browser by virtue of WebAssembly. There are native ports using either MiniFB or SDL2, but you have to build those yourself. I decided to write the game in C because I feel like it is a simple language that a lot of people can understand well enough, and I didn’t think I…
2023 · zamfofex.neocities.org · its alternatives →
- 17

Modified C++ Inspired by the paper "Some Were Meant for C" by Stephen Kell, I decided to show that it's possible to iterate C++ to be safer, more explicit, and less error-prone. Here's a possible starting point: I didn't invent a new language or compiler, but took the world's best compiler, clang, and modified it to begin iterating towards a new furture of C++. Naming things is hard, so I call this 'Modified C++'. Some of the following could be implemented as tooling in a linter or checker, but the idea is to update the compiler directly. I also wanted to learn more about clang. This…
2022 · github.com · its alternatives →
- 18

A high performance, middleware oriented C++14 http web framework please use matt-42/lithium instead - matt-42/silicon
2015 · github.com · its alternatives →
- 19

Bake, A build system for building, testing and running C & C++ projects - SanderMertens/bake
2018 · github.com · its alternatives →
- 20

Back then there were not a lot of frameworks for C++ like there are available now, gradually added serialization, reflection, orm, modules for apache|nginx, then started adding programming language integration and then finally added support for building on various Os'es and also support for most of the build tools out there.
2023 · github.com · its alternatives →
- 21

If you work in C++, and you would like 2+ programs to share data structures (and/or native I/O handles a.k.a. FDs) among each other, there is a good chance Flow-IPC - will make it considerably less annoying to code than typical approaches; and - may massively reduce the latency involved. Those sharing Cap'n Proto-encoded data may have particular interest. Cap'n Proto (https://capnproto.org) is fantastic at its core task - in-place serialization with zero-copy - and we wanted to make the IPC (inter-process communication) involving capnp-serialized messages be zero-copy,…
2024 · github.com · its alternatives →
- 22

This project is inspired by some of the asserts in Unreal engine. Due to reliance on core_intrinsics it is necessary to develop using nightly Rust, but there are stubs in place so a production build will not require nightly. I recently released version 0.2 which includes no_std support and adds optional log message arguments to the ensure macro.
2024 · github.com · its alternatives →
- 23

A simple way to output stack traces when a program crashes in C++, using the new C++23 <stacktrace> header - TylerGlaiel/Crashlogs
2023 · github.com · its alternatives →
- 24

I've created cppmatch, a lightweight, header-only C++ library that brings Rust-inspired pattern matching and error handling to C++. It tries to imitate the functionality of the questionmark (?) operator in C++ by using a macro that uses the gcc extension https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html This allows to create exceptionless code with non-intrusive error-as-value that unlike Exceptions, makes it clear which kinds of error a function can generate and forces you to handle (or ignore) them. The ? operator translates to *expect* To handle the errors I…
2025 · github.com · its alternatives →
Also compare
- Doctest – C++ single-header testing framework alternatives
- Smart pointers for the C programming language alternatives
- Cross Platform .NET Desktop Application Framework alternatives
- Uscope, a new Linux debugger written from scratch alternatives
- A C# library to help you enforce a Given-When-Then structured Unit test alternatives
- Open-source A/B testing framework alternatives
Ranked by how close each launch is in meaning, then by votes. Prices were read from each product’s own site when checked and can change. Refine with your own description →