(C)2009 蒋维
最近项目组想把用了一段时间的中间件API做一个单体测试,找了半天没有找到一个好的测试方法。最开始打算手动写点用力然后逐条测,但是log信息不好整理。突然发现CUnit这个东东。研究了一下。
继JUunit CppUnit的成功后, C语言环境下也出现了开放源码的白盒测试框架CUnit。CUnit在LGPL协议下以源代码形式提供给用户使用,用户可以编写程序时加入框架代码或直接链接编译好的静态库。它提供了一个简单的单元测试框架,并且为常用的数据类型提供了丰富的断言语句支持。 目前稳定版本为:CUnit-2.1-0。
由于这个东东基于LGPL所以我们就不能直接用它的源代码了(不然老板会杀了我的:))。所以只能给编成静态库来调用了(这下老板就happy了)。但是默认提供的Makefile在Linux下只能用gcc编译成库。和我们项目的的交叉编译环境的目标机硬件环境不兼容。还好有CUnit的源文件不多,手动用目标机的编译器编译成了库文件。这下用起来就happy多了,直接在工程里面加上库。
CUnit的组织结构如下图:
每个CUnit实例只能有一个Registy存在。
每个Registy能够注册多个Suit(从代码来看好像是255个,记不清楚了…)。Suit映射到项目就可以是各个模块。
最后每个Suit又可住注册多个手工写好的Case。也就是要测试的API用例。
用例注册一般是下面几步:
1.初始化框架
2.初始化Registy
3.向Registy注册Suit
4.向Suit注册Case

本文介绍了CUnit,一个适用于C语言的开源白盒测试框架,它提供了简单的单元测试支持和多种测试模式。文章详细阐述了如何在项目中使用CUnit,包括编译静态库、注册测试套件和用例,以及CUnit的不同运行模式,特别提到了Automated模式生成的XML测试结果需要特定的DTD和XSL文件支持。
最低0.47元/天 解锁文章
1651

被折叠的 条评论
为什么被折叠?



