CMocka
suggest changeCMocka is an elegant unit testing framework for C with support for mock objects. It only requires the standard C library, works on a range of computing platforms (including embedded) and with different compilers. It has a tutorial on testing with mocks, API documentation, and a variety of examples.
#include <stdarg.h> #include <stddef.h> #include <setjmp.h> #include <cmocka.h> void null_test_success (void ** state) {} void null_test_fail (void ** state) { assert_true (0); } /* These functions will be used to initialize and clean resources up after each test run */ int setup (void ** state) { return 0; } int teardown (void ** state) { return 0; }
int main (void) { const struct CMUnitTest tests [] = { cmocka_unit_test (null_test_success), cmocka_unit_test (null_test_fail), }; /* If setup and teardown functions are not needed, then NULL may be passed instead */ int count_fail_tests = cmocka_run_group_tests (tests, setup, teardown); return count_fail_tests; }
Found a mistake? Have a question or improvement idea?
Let me know.
Table Of Contents