CPPUnit 的在VC6

王朝vc·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

单元测试是极限编程的重要组成部分,CPPUnit和Junit,Duit一样都是Erich Gamma 和 Kent Beck 编写的一个回归测试框架,是C++语言的一个很好的单元测试工具,以下介绍VC6.0下的CPPUnit的安装和使用。

?? 第一部分:CPPUnit的安装。

1.?下载CPPUnit:下载CPPUnit 压缩文件,2.?我用的是CPPUnit1.10.2

2.? 编译工程文件:将CPPUnit1.10.2.tar.gz 解压缩到本地硬盘,如d:\CPPUnit1.10.2,用VC6.0打开CPPUnit1.10.2中的工程文件CppUnitLibraries.dsw,?

选择 当前工程为TestPlugInRunner,选择Build菜单下Batch Build的页面, 将会有一对话框,选中所有Project,然后按build 按钮,将生成cppunit的库文件,其位置在CPPUnit1.10.2/lib目录下.

3. 设置VC环境: 选择 Tools-Options菜单,选择Directories TAB页,在show directories for 下拉框中选择Include Files,增加路径CPPUnit1.10.2/include, 如我自己的是d:\ CPPUnit1.10.2\ include.同样增加Libary files 路径CPPUnit1.10.2/LIB, source files 路径 CPPUnit1.10.2/SRC/CPPUNIT.

在菜单Tools-Customize出现的对话框中选Add-ins and Macro files中点击browse,并选择lib/TestRunnerDSPlugIn.dll.

此时特别注意, 关闭VC6,在windows 的环境变量中设置path变量加一路径, cppunit/lib,如d:\cppunit1.10.2\lib,否则以后的测试工程中提示找不到动态连接库。

这时CPPUnit的环境已经配置好了,一般都可以手工创建工程,书写测试的代码,如下面的代码创建测试

void CHostAppApp::RunUnitTests()

{

??? CppUnit::MfcUi::TestRunner runner;

??? runner.addTest( CppUnit::TestFactoryRegistry::getRegistry().makeTest() );

??? runner.run();

}

但是必须手动创建测试工程,非常的不方便。以下介绍的CppUnit Visual Studio Application Wizard 可自动创建好测试框架,我们只需书写TestCase和test方法即可。

第二部分:CppUnit Visual Studio Application Wizard v0.1安装

1.?下载CppUnitAppWizard.zip:文件在以下地址下载

?http://www.sourcextreme.com/projects/cppunit/CppUnitAppWizard.zip?

2.?安装向导:将下载文件解压缩得到一个扩展名3.?为awx的向导文件,4.?将CppUnitTester.awx拷贝到VC的Template目录下。一般位置为Microsoft Visual Studio\Common\MSDev98\Template。

这时重起VC就可在NEW Project下有一个 CPPUnit TestApp Wizard 向导。选择输入测试工程名即可创建一个测试工程,并且缺省的测试fixture 为SampleTest,这样和我们在 Junit中使用的一样,将所要测试文件添加到测试工程内,即可创建TestSuit,Testcase ,写测试方法。

??? 例如写一个测试方法TestLogin, 先在SampleTest 类头文件声明函数,在原文件实现它。并在SampleTest类中用宏 CPPUNIT_TEST( TestLogin ),将TestLogin加入。Build, run,可看到测试界面。在Browse中第一次是空的,点击Browse按钮,选择Test fixture,则可选择测试方法。点击run按钮,就可看到测试结果了。(我开始使用的1.8.0版本,一浏览就出错了,后来换成1.10.2版本就好了,不过还有内存泄露)。

感谢sourcextreme 为我们创建这么方便的工具。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航