CPPUnit在VS2010上的配置与使用
CppUnit[1]是Micheal Feathers由JUnit移植过来的一个在GNU LGPL条约下的并在sourcefogre网站上开源的C++单元测试框架。(转自百度)
本文是对cppunit的一个初步体验,文章本着极端细致的原则,力求让每个第一次接触的人都能按照教程完整实现,同时文章也贴出了在这过程中所遇到的问题及其解决方法
我参考了这个,做了一些补充修改。http://www.cnblogs.com/abc123456789/p/3433401.html
1.首先来段windows版cppunit安装教程:
1)首先下载cppunit最新版本(cppunit-1.12.1.tar.gz),解压(如E:\ProgramFiles),文件夹目录如下
2)对于vs2010,需要进行如下修改
(1)修改目标文件名
进入cppunit目录下src文件夹,用vc程序(vs2010)打开CppUnitLibraries文件,提示需要转换,选择转换,对于vs2010,需要进行额外的对目标文件夹的修改。
右键cppunit,选择属性,在弹出窗口将目标文件名由$(ProjectName)改成$(ProjectName)d,如下
同样的将cppunit_dll的目标文件名改成cppunitd_dll
将DllPlugInTester改成$(ProjectName)d_dll
将TestPlugInRunner的改成$(ProjectName)d
将TestRunner的改成$(ProjectName)d
(2)修改DSPlugin
右键属性à配置属性à链接器à高级à无入口点,由“否”改成“是(/NOENTRY)”,如下
(3)最后再修改TestRunner
在vs中打开TestRunner\UserInterface\ MsDevCallerListCtrl.cpp,在67行中将version由7.0改成8.0,如下
3)接下来编译生成lib库
在vs中选择生成-->批生成,全选后点击生成,如下
过一会,等待编译结束,这过程可能会有一些提示说错误或失败,不用管,最后我的编译结果如下
进入cppunit-1.12.1\lib文件夹,出现如下即可(我们在使用时主要使用cppunitd.lib,所以这个库文件一定要有,我的生成7个文件)
到此windows版cppunit安装编译成功。
补充:
选择Cppunit右键属性 ->(debug)配置属性->常规->目标文件名:$(ProjectName)修改成cppunitd(这样做是为保持链接器->常规->目标文件名 一致);
选择Cppunit右键属性 ->(debug)配置属性->常规->目标文件名:$(ProjectName)修改成cppunitd_dll(这样做是为保持库管理器->常规->目标文件名 一致);
要使用CppUnit,还得设置好头文件和库文件路径,以VC6为例,选择属性/VC++目录,在Include files和Library files中分别添加%CppUnitPath%/include和%CppUnitPath%/lib,其中%CppUnitPath%表示CppUnit所在路径。
2. windows版 cppunit使用案例
1)cppunit自带测试example
打开cppunit-1.12.1\examples\money文件夹的money.dsw文件
修改项目目标文件名
右键money工程名,配置属性-->常规-->目标文件名,将$(ProjectName)改成$(ProjectName)d
运行money工程。F5或ctrl+f5调试,出现如下即ok
####我到这块内存位置 0x001bf0bc 有异常。
2) 编写一个简单的Fibonacci的测试
(1)在vs2010中新建一个项目,配置如下
在工程中添加被测类的头文件和cpp文件
结果及这两个文件内容如下
到此被测函数的类就定义好了。
(2)接下来再添加一个用来测试Fibonacci类的项目,如下
(3)接下来首先在vs2010中配置测试项目的属性:
右键测试项目(test_Fibonacci),选择属性,添加cppunit的库文件和lib路径
两个都配置好后,内容应该如下
最后再添加cppunitd.lib链接库,如下,确定即可
(4) 在测试项目(test_Fibonacci)中添加刚刚在项目Fibonacci项目中新建的两个文件(fibonacci.h和fibonacci.cpp),添加后效果应该如下
这样在头文件中便包含了要测试的Fibonacci.h,源文件包含Fibonacci.cpp文件
(5) 编写测试类头文件和cpp文件
添加测试类头文件和cpp文件,如下图所示
test_Fibo.h和test_Fibo.cpp内容如下
(6) 最后在test_Fibonacci.cpp中编写main函数,如下
将test_Fibonacci项目设为启动项目,右键test_Fibonacci项目,选择“设为启动项目”。运行结果如下
考察如果结果不对,会不会报错?
测试fibonacci(5)==9,则结果如下
到此win下使用结束