好久以前就想试用一下cmock,但一直没有做,汗。。。
今天想起来,赶紧试一下。
在官网上,下载安装包cmock_2_0_204.zip,方便的是,不需要编译和安装。不过cmock依赖于ruby,因此,得先安装一下ruby。
注:这个安装包中也包含了一个单元测试工具unity,在解开后的子目录vendor/unity/下。
例子概述:
4个文件:my_try.h、my_try.c、my_math.h、my_try_ut.c
my_try.h和my_try.c是我要测试的代码文件,功能很简单,就是封装调用my_math.h提供的接口。
比如,my_try.c中的函数my_add()会直接调用my_math.h提供的接口add()。
my_try_ut.c则是单元测试的代码,它利用cmock来实现my_math.h中接口的桩代码,比如add()。
这样就把测试重心放到我想要测试的my_try.c中来。
my_math.h的代码:
#ifndef _MY_MATH_
#define _MY_MATH_
int add(int a, int b);
int sub(int a, int b);
#endif
my_try.h的代码:
#ifndef _MY_TRY_
#define _MY_TRY_
int my_add(int a, int b);
int my_sub(int a,