1. 引言
1.1 概述
CUnit是在C语言环境中用来编写、管理和运行单元测试的系统,它是用户通过编写测试代码进行连接的静态库。
CUnit用一个简单的框架来建立测试结构,为常用数据类型的测试提供了丰富的断言语句,并为运行测试和报告测试结果提供各种接口,包括通过代码自动运行测试并报告测试结果的接口,还有使用户可以动态运行测试并查看结果的交互式接口。
在下面的头文件中说明对用户非常有用的数据类型和函数:
头文件 含义 #include <CUnit/CUnit.h> 测试用例中的断言宏指令和其他的框架头文件 |
1.2 结构
CUnit由一个与平台无关的框架和各种用户接口组成。核心框架实现对Registry、测试包和测试用例的管理。通过用户接口方便地使用这个框架来运行测试并查看结果。
CUnit和通常的单元测试框架是一样的:
一个活动的测试Registry(相当于一个测试单元)可以注册多个包(Suite,可视为程序中独立的模块),每个包(Suite)又挂载多个测试用例(Test case)。包可以有setup和teardown 函数,在其执行前后自动进行调用。通过一个函数调用可以运行Registry中所有的包或用例,也可以选择一些包或用例来运行。
……………………
查看全文请点击下载:http://www.51testing.com/html/28/n-205128.html
4. 管理测试用例和测试包
要通过CUnit运行测试,必须将测试添加进已注册到Registry的测试包中。
4.1 内容概要
#include <CUnit/TestDB.h> (由 <CUnit/CUnit.h>自动加载) |
4.2 向 Registry加入Suite
CU_pSuite CU_add_suite(const char* strName, CU_InitializeFunc pInit, CU_CleanupFunc pClean)
用指定的名称、初始化函数和清除函数创建包Suite。新的包注册到Registry并属于该Registry,而Registry必须在所有测试包加入之前完成初始化。当前不支持创建独立于Registry之外的Suite。
包的名称必须是Registry内唯一。而初始化和清除函数并不是必须包含的,它们以指针的形式分别传递给Suite中的测试运行前后调用到的函数,这样包就可以setup或teardown临时变量来运行测试。这些函数不含参数并在执行成功时返回0(否则返回非0)。如果包不需要这两个函数,给CU_add_suite()传递参数null。
返回指向新的Suite的指针,用于向包中加入Test。如果发生错误,返回NULL。相应的错误代码如下:
……………………
查看全文请点击下载:http://www.51testing.com/html/28/n-205128.html
版权声明:51Testing软件测试网及相关内容提供者拥有51testing.com内容的全部版权,未经明确的书面许可,任何人或单位不得对本网站内容复制、转载或进行镜像,否则将追究法律责任。