1) 下载CUnit源码包(CUnit-2.1-0-src.tar.gz)
2) CUnit源码包的解压。
输入如下命令:
#tar xzvf CUnit-2.1-0-src.tar.gz
执行结束后,将会在当前目录下生成一个解压后的文件夹(CUnit-2.1-0)。
3) 解压结束后,开始进行编译和安装。
#su 变换为root
#cd CUnit-2.1-0
#aclocal
#autoconf
#automake
#chmod u+x configure
#./configure --prefix <Your choice of directory for installation>
(对上一句进行解释,<Your choice of directory for installation>这个位置,需要你输入要安装的目录,目录的格式举例如下:/usr/unittest/)
#make (可能会编译出错,如果是”../libtool: line 818: X--tag=CC: command not found”类似的错误,解决办法是“目录下找到libtool,把里面的$echo全部替换为$ECHO”,方法是gvim :%s/$echo/$ECHO/g)
#make install
这里需要一段时间...
#cd /usr/unittest/lib
#ldconfig
Test Registry
|
------------------------------
| |
Suite '1' . . . . Suite 'N'
| |
----------- ------------
| | | |
Test '11' ... Test '1M' Test 'N1' ... Test 'NM'
一 次测试(Test Registry)可以运行多个测试包(Test Suite),而每个测试包可以包括多个测试用例(Test Case),每个测试用例又包含一个或者多个断言类的语句。具体到程序的结构上,一次测试下辖多个Test Suite,它对应于程序中各个独立模块;一个Suite管理多个Test Case,它对应于模块内部函数实现。每个Suite可以含有setup和teardown函数,分别在执行suite的前后调用。
参考:http://www.cnblogs.com/linux-sir/archive/2012/08/25/2654557.html
//将测试用例加入到测试用例集中
// CU_TestInfo是Cunit内置的一个结构体,它包括测试方法及描述信息
CU_TestInfo testcase[] = {
{"test_for_lenth:",test_string_lenth}, //测试用例名+测试用例的函数指针
{"test_for_add:",test_add_str },
CU_TEST_INFO_NULL
};
CU_TestInfo testcase2[] = {
{"test for Upper :",test_to_Upper },
CU_TEST_INFO_NULL
};
//将测试用例集加入到一个测试包中
//定义suite数组,包括多个suite,每个suite又会包括若干个测试方法。
CU_SuiteInfo suites[] = {
{"testSuite1",suite_success_init,suite_success_clean,testcase}, //将测试用例集testcase加入到测试包1中
{"testsuite2",suite_success_init,suite_success_clean,testcase2}, //将测试用例集testcase2加入到测试包2中
CU_SUITE_INFO_NULL
};
CU_initialize_registry(); //注册registry
CU_register_suites(suites); //注册所有的测试包suite