天天看点

单元测试

main page

related pages

files

单元测试规范

cppunit是apache著名的单元测试工具junit的c++版本。

ubuntu安装方式如下:

redhat需要下载并编译安装。

valgrind是一个著名的内存缺陷检查工具,可以检查并定位内存泄露、越界等问题。

main函数绝对不应当成为测试的地方

除了utest目录下,其它所有源码目录都不允许出现测试代码

除了utest目录下,其它所有源码目录都不允许出现包含test的文件名。

每一个项目都应当包含一个名为utest,并位于项目根目录下的单元测试目录,用于存放 所有的单元测试用例。

utest目录下只应当有一个cpp文件,名称为project_utest.cpp,project根据不 同项目而异。这是单元测试函数的入口函数。

单元测试由于不发布安装,因此所有源码都在头文件中实现,简化开发工作。

每个类或模拟类的结构都应当对应一个单元测试类,并位于一个独立的头文件中。

单元测试的类名为,要测试的类或模拟类的结构名加上test后缀。如需要测试的结构为 imchslexanalyzer,则单元测试的类名为imchslexanalyzertest。

每个测试测试的方法,代表了一组测试用例,并以小写test开头。

单元测试的目的有两个:

发现功能性的问题,如函数的返回不正确。(cppunit)

发现内存问题,如内存没有释放。(valgrind)

单元测试入口函数:project_utest

测试用例样例: