聚沙成塔

CUnit使用流程简介

上一篇 / 下一篇  2014-10-10 10:42:34 / 个人分类:单元测试

一、CUnit简介
CUnit是一个对C语言编写的程序进行单元测试的框架。它作为一个静态链接库被链接到用户的测试代码中。它提供了一种简洁的框架来建立测试架构,并提供丰富的断言(Assertion)来测试通用数据类型。除此之外,它还提供了许多不同的结构来运行测试用例和报告测试结果。
Cunit的架构
                        Test Registry
                                   |
             ----------------------------------------
             |                                                 |
          Suite '1'      ------------------     Suite 'M'
             |                                                |
       -------------------            --------------------
       |                       |            |                        |
    Test '11' ... Test '1N'     Test 'M1' ... Test 'MN'
二、CUnit测试的基本流程
编写单元测试函数(有必要的话要写suite的init/cleanup函数)。
调用函数CU_initialize_registry()初始化测试注册单元(Test Registry)。 
调用函数CU_add_suite() 将测试包(suite)添加到测试注册单元(Test Registry)中。
调用函数CU_add_test()将测试用例添加到测试包(suite)中。
使用合适的接口来运行测试用例。
调用函数CU_cleanup_registry清除测试注册单元(Test Registry)。
三、Cunit四种测试模式
四种测试模式:
1 Automated Output to xml file Non-interactive
2 Basic  Flexible programming interface Non-interactive
3 Console Console interface (ansi C) Interactive
4 Curses Graphical interface (Unix)Interactive
第一种模式是将结果输出到XML文档中,便于生成报告。第二种模式是每一次运行结束之后在standard output中显示测试结果,不能保留测试结果数据。
第三种模式是console方式的,可以人机交互;前两种模式是非交互式的。第四种只在Unix中使用。
四、Linux下安装CUnit
下载Cunit-2.1.0,http://sourceforge.net/projects/cunit/
用root用户上传CUnit-2.1-0-src.tar.gz。
root用户执行tar -zxvf CUnit-2.1-0-src.tar.gz
cd CUnit-2.1-0
./configure --prefix=$HOME/local
make
make install
CUnit编译后,头文件默认目录在/root/local/include/CUnit中,静态库文件在/root/local/lib/下
五、Cunit测试被测函数
根据被测函数编写相应的测试函数,建议以testXXX格式命名
使用断言来判断是否成功,例如CU_ASSERT、CU_ASSERT_TRUE、CU_ASSERT_FALSE、CU_ASSERT_EQUAL等
Cunit初始化CU_initialize_registry()
添加注册套件CU_add_suite()
添加注册函数CU_add_test()
调用测试套件并设置测试报告输出模式
清理注册信息CU_cleanup_registry()
六、编写Makefile
Makefile用于定义哪些文件需要编译,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译。
例如
INC=-I/root/local/include  
LIB=-L/root/local/lib  

gettomcatBaseDir:tomcatutil.c request.c testGettomcatBase.c CUnitRunTest.c request.h tomcattype.h tomcatutil.h
gcc $^ -o test $(INC) $(LIB) -lcunit  -static -lpthread    
clean:  
rm -rf test 
七、Linux下执行CUnit
编写Makefile文件,放入到在源文件目录中
在源文件目录下执行make命令即可
运行./test即可看见测试报告
例如XML格式报告:
      1)TestMax-Listing.xml :对测试用例的报告 
      2)TestMax-Results.xml :对测试结果的报告 
     查看这两个文件,需要使用如下xsl和dtd文件:CUnit-List.dtd和CUnit-List.xsl用于解析列表文件, CUnit-Run.dtd和CUnit-Run.xsl用于解析结果文件。这四个文件在CUnit包里面有提供,安装之后在$(PREFIX) /share/CUnit目录下。把这总共六个文件拷贝到一个目录下,然后用浏览器打开两个结果的xml文件就可以了。

相关阅读:

TAG: c语言 C语言

 

评分:0

我来说两句

Open Toolbar