网上已经有了许多关于CppUnit的使用说明,我再次“重复”,是为了方便自己以后回忆,同时加深印象。这里要谈的是,作为一个初学者,怎么样使用CppUnit,而不是去解读其内部的代码,同时也有一些自己的使用心得。好了,进入正题。
首先,我简单介绍一下背景:随着开发经验的增加,越来越体会到测试代码的重要性,而这些针对性很强的测试代码主要是单元测试(UT),如何管理这些代码就显得很重要。假如没有一个测试框架的帮助,我们要知道这些测试用例那些失败了,那些成功了,是需要花费很多功夫的。而CppUnit就很好的替我们完成了这部分的工作,我们只需要设计测试用例,然后其他的用CppUnit就可以很方便的实现了,比如显示测试结果,如果出问题了,可以很方便的定位那个地方失败了等。
好了,那如何才能使用上CppUnit的呢。首先它是一个开源项目,你可以去网上找到最新的版本,download下来。下面就是一步一步的实现怎样使用CppUnit了。
1.)把download下来的文件,拷贝到安装程序的目录,这样可以方便自己使用,如D:\Programs\。
2.) 用VS打开其中的“\src\CppUnitLibraries.dsw“(VC6.0工程), 可以找到很多编译选项。这里要特别注意,如果你需要的是Unicode,就要选择Unicode的选项。
3.)build完其中的cppunit和cppunit_dll, testrunner三个项目,在\lib\文件夹下,可以找到刚生成的文件。这里有点需要注意,生成的lib或者dll
文件分为debug version和release version它们分别适应于你的测试工程的debug和release模式。
4.) 将上面的lib目录包含到VS的lib 目录中。
5.)新建一个基于Dialog的MFC应用程序,然后将生成的Lib包,包含到工程中去。主要要分清楚debug和release版本。示例代码如下:
#ifndef _DEBUG
#pargma commment(lib, "")
#else
#pargma comment(lib, "")
#endif
6)找到测试工程中主文件的Instance函数,然后将其中生成Dialog部分的代码,注释调。改成TestRunner界面的代码。
7)然后加入测试类,它需要继承自NCPP_UNIT::TestFixture。然后将它注册,以便在主函数中通过查找注册的测试类,来开始测试它。
8)然后将被测试工程生成的文件(如dll, lib等文件,exe可以用obj文件)加入到测试工程的依赖文件目录中区。
9)在测试工程中编写测试用例,然后将测试用例通过宏的方式加入了测试中。在测试用例中,加入CPPUNIT提供的断言宏,以表示测试结果是否正确。
10)运行测试,查看测试结果。
本文写的不够丰富、详细,对于自己来看也许能理解,对于新手来说可能需要自己摸索才能清楚,我再次深表歉意,有时间我将进一步的丰富和添加详细的过程。写此文目的就是让那些刚接触CppUnit的新手快速的入门,让好的工具为更多的人所知、所用。是如果你有关于CppUnit使用过程中的问题,可以发邮件到:whp_lcyz@163.com, 我将尽我所能分享我所知道。