Ceedling
如果你使用 Ceedling(一个针对 C 代码单元测试的构建管理器),可以更方便地管理测试。Ceedling 会自动处理 Unity 和 CMock 的集成,无需手动编写 Makefile
。
1.环境搭建
1.1 Ruby环境
sudo apt-get install ruby
1.2 安装 Ceedling:
首先我们要知道 gem (类似于 python 的 pip 、Ubuntu 中的 apt-get 、Node.js 的 NPM 等等)是一个管理 Ruby 库和程序的标准包,通过 gem 可以十分便捷的安装、升级和卸载软件。
常见的 Ruby gem 指令:
gem -v gem版本
gem -h help
gem install -h install帮助
gem update 更新所有包
gem install PACKAGENAME
-v PACKAGEVERSION
安装指定版本的软件包
gem environment 查看gem的环境
sudo gem install ceedling -v 0.31.1
1.3 安装gcovr 生成 HTML 报告
sudo apt install gcovr
2.初始化项目:
ceedling new MyProject
cd MyProject
2.1 编写测试代码:
将测试代码和源代码放入 test/
和 src/
目录中,Ceedling 会自动处理编译和测试。
src
目录中放入待测试代码的.c和.h文件
test
目录中编写测试代码,注意,代码文件名需要以test开头,如testXXX.c,内容如下
#include "unity.h"
#include "utils.h"void setUp(void)
{printf("setup...\n");
}void tearDown(void)
{printf("tearDown...\n");
}void testAdd(void)
{TEST_ASSERT_EQUAL(4, add(2, 2));TEST_ASSERT_EQUAL(0, add(0, 0));TEST_ASSERT_EQUAL(