本博客(http://blog.csdn.net/livelylittlefish )贴出作者(三二一@小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正!
Content
0. 序
1. 平台
2. 第三方库
3. 如何使用CMock和Unity?
3.1 修改业务代码
3.2 编写单元测试
3.3 如何Mock并测试?
(1) 生成mock文件
(2) 生成单元测试runner
(3) 拷贝或修改生成的mock文件
(4) build
(5) 讨论
4. 总结
Reference
Appendix 1: Cmock installation
Appendix 2: Unity installation
Appendix 3: Ruby installation
Appendix 4: Mockyour_file.c
Appendix 5: my_business_runner.c
0. 序
在Mock的基本概念和方法一文中,笔者在结尾提出了一个问题,有没有一种比较好的方法或者工具,能自动产生一些文件或者目录,供测试使用?
有,一定有,因为,这个世界从来不缺聪明的发明人。
那么,本文仍以Mock的基本概念和方法一文中的例子为例,重点讲述使用Cmock、Unity等工具进行单元测试的方法。
注:本文的实验,CUnit不是必须的。
1. 平台
Cygwin, or Linux
工作目录:
Linux : # cd /usr/src/cmock_sample
Cygwin: $ cd /usr/src/cmock_sample
2. 第三方库
本文实验用到的第三方库分别为:
cmock_2_0_204.zip:http://sourceforge.net/projects/cmock/files/cmock/cmock2.0/cmock_2_0_204.zip
unity_2_0_113.zip:http://sourceforge.net/projects/unity/files/unity/unity2.0/unity_2_0_113.zip
ruby-1.9-stable.tar.gz:http://ftp.ruby-lang.org/pub/ruby/ruby-1.9-stable.tar.gz
实际上,cmock_2_0_204.zip在其vendor目录中包含了Unity。
3. 如何使用CMock和Unity?
以下将以cygwin平台为例。
3.1 修改业务代码
该例子中的业务代码文件:my_business.c
为例使用CMock和Unity工具,需要修改my_business.c文件,将其中的main函数删除,并增加my_business.h文件。如下。
/*
* my bussiness.h
*/
int read_file();
my_business.c文件内容。
/*
* my bussiness
*/
#include &