@ekx/unit
v0.0.6
Published
Simple header-only testing library for C
Downloads
20
Maintainers
Readme
unit
🥼 Tiny unit testing library for C language 🥼
Example
Compile executable with -D UNIT_TESTING
to enable tests
#define UNIT_MAIN
#include <unit.h>
SUITE( suite name ) {
DESCRIBE( subcase name ) {
IT("is test behaviour") {
WARN("use WARN_* to print failed assumptions");
CHECK("use CHECK_* to continue execute assertions on fail");
REQUIRE("use REQUIRE_* to skip next assertions on fail");
}
}
}
Features and design goals
✓ Main focus and features
- Written in Pure C: only standard
libc
is used - Simplicity and tiny build-size
- No dynamic memory allocations: only static memory is used for reporting test running infrastructure.
- Single-header library: easy to integrate
- Embedded runner & pretty reporter: build self-executable test
- Disable test code: allow you to write tests for your private implementation right at the end of
impl.c
file - Cross-platform: should work for Linux / macOS / Windows
✕ What you won't find here
- Cross-compiler support: no
MSVC
support, onlyclang
is tested - Multithreading and parallel test running
- Tricky test matchers design
- Fixtures,
before
/after
or mocking - Crash tests and signal interception
- Fuzz testing
In any case, if you have a desire, you can support and contribute! Feel free to ask me any feature you need Thank you for your interest!