最简略的C语言单元测试框架
资料来自Internet。最简单的C语言单元测试框架,只有一个3行的头文件。如下:
$ cat test/mini_test.h
#define mini_assert(message, test) do { if (!(test)) return message; } while (0)
#define mini_test(test) do { char *message = test(); tests_run++; if (message) return message; } while (0)
extern int tests_run;
使用方法:
$ cat test/test_all.c
#include <stdio.h> /*For printf*/ #include "mini_test.h" int tests_run =0; static char *test1() { mini_assert("must be true", 1==1); return 0; } static char *all_tests() { mini_test(test1); return 0; } int main(int argc, char **argv) { char *result = all_tests(); if (result != 0) { printf("%s\n", result); } else { printf("ALL TESTS PASSED\n"); } printf("Tests run: %d\n", tests_run); return result != 0; }