在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
MiniUnit -- 一个 C/C++ 迷你单元测试框架本项目是受到 MinUnit 的启发而创建的。MinUnit 是一个极简的 C 语言单元测试框架,仅有三行代码,因此其功能亦比较受限。 与此相比,在同样保持简单的条件下,MiniUnit 提供更灵活的断言 (assertion),并以可读性更好的方式展示测试结果,包括显示断言错误的位置(文件名和行号),用彩色文本显示断言错误信息等(如下图)。 MiniUnit 的特点:
功能(1) 使用断言一个测试可以包含若干个断言,其中任何一个断言失败,则该测试失败。
(2) 编写测试每个测试都是一个不带参数的函数,返回类型为 int test_something(){ mu_assert(1 + 1 == 2); return 0; // 0 表示测试通过} (3) 运行测试
(4) 查看结果
(5) 文本颜色如果控制台不支持 ANSI escape code,则在 #define MU_NOCOLOR#include "miniunit.h" 示例例如: #include "miniunit.h"int test_one(){ mu_assert(2 + 2 == 4); return 0; // 0 means test passed}int test_two(){ int a = 3, b = 5; mu_assert(a == 3); mu_assert(b == 5, "b is 5"); mu_assert(a + b == 7, "should be %d", a + b); // fail return 0;}int main(){ mu_run_test(test_one); mu_run_test(test_two); mu_test_results(); return 0;} 输出结果: 关闭彩色文本后输出: |- test_one ./mu_example.c:21 ... ✔|- test_two ./mu_example.c:22 ... ✘|\_[FAIL] at ./mu_example.c:15 for 'a + b == 7' ✘ should be 8\_________________________________1 ✔ and 1 ✘ in 2 TEST(S)#### 1 TEST(S) FAILED #### |
请发表评论