一、Acutest的介绍
1、Acutest 是一个 C/C++ 单元测试工具;
2、无需安装/设置/配置任何测试框架,Acutest 只是一个单一的头文件,即 acutest.h;
3、头文件acutest.h中提供了程序入口点(main() 函数),因此自己的程序中不能再编写main() 函数。
二、Acutest的使用
1、下载:友情链接
2、使用:将下载好的压缩包解压,复制【include】目录下的【acutest.h】头文件到工程目录中,如下图工程目录中的位置所示:
3、代码示例(test1.cpp):
#include "acutest.h"// 两个数相加
int add(int a, int b)
{return a + b;
}// 两个数相减
int sub(int a, int b)
{return a - b;
}// 两个数相加 单元测试
void test_add()
{TEST_CHECK(add(2, 3) == 5);// 测试通过单元测试
}// 两个数相减 单元测试
void test_sub()
{TEST_CHECK(sub(2, 2) == 0);// 测试通过单元测试TEST_CHECK(sub(2, 1) == 0);// 测试不通过单元测试
}// 使用宏 TEST_LIST 列出单元测试
// 该列表指定了每个测试的名称【add】(必须是唯一的)以及实现测试的函数指针【test_add】
TEST_LIST =
{{ "add", test_add },{ "sub", test_sub },{ NULL, NULL } // 请注意,测试列表必须以一个归零记录结束。
};
4、运行:因为头文件acutest.h中提供了程序入口点(main() 函数),因此直接运行程序即可,但大概率会碰到控制台窗口闪退的问题,这样就看不到单元测试的结果了,因此我们需要用可执行程序来运行。如下图所示: