VC2008环境下编译CPPUNIT单元测试工具

来源:互联网 发布:js调用默认浏览器 编辑:程序博客网 时间:2024/05/18 00:42

      本文只讨论在VC2008环境下编译CPPUNIT单元测试工具的过程。不涉及CPPUNIT环境配置。

        前段时间看了一些CPPUNIT相关的资料,参考一位前辈的资料实现了VC2008环境下的CPPUNIT单元测试环境配置。早就想把配置过程中遇到的一些问题和解决方案总结一下。

        从接触到的资料来看,大多只是就一个问题进行了解释和处理,没有完整的说明配置过程。本文是在总结多篇日志的基础上,加上自己的在配置CPPUNIT测试环境中遇到的新问题集合而成的较系统和全面的解决方案。

VC2008下配置CPPUNIT单元测试环境

图1 VC2008环境下配置CPPUNIT单元测试环境的关键步骤

1. 下载CPPUNIT源代码。

      下载地址为:http://sourceforge.net/projects/cppunit/files/

      注意:不要直接点击Download按钮,那样下载的结果可能是一个CVS管理下的源代码包,解压后每个文件都会多出一个单字母的扩展名。我没有用过CVS不知道该怎么处理。请下载如下图2所示的cppunit-1.12.1.tar.gz文件。

CPPunit下载 图2 应该下载的源代码包

      下载完毕后,解压源代码包,用VC2008打开src目录下的HppUnitLibrarie.dsw文件。VC2008升级向导会提示升级,按照提示步骤操作即可。

2.生成解决方案

        报错。因为CPPUNIT使用的一个VC相关的东西(到底是个啥东西,我也不知道)的版本号不对。

3.改一个版本号

      修改src/TestRunner/UserInterface/DynamicWindow/MsDevCallerListCtrl.cpp文件第67行,改成"#import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version("9.0") lcid("0") raw_interfaces_only named_guids"。 VC2008对应的版本号是9.0。

4.生成解决方案

      若CPPUNIT源代码放在有空格的路径下会报错。

5.将整个CPPUNIT源代码移到不含空格的路径下。

      这里会什么会因为空格而错,会另外写一篇文章来单独说明。

6.生成解决方案

      报错。DSPlugin只适用于VC6.0,在VC2008下编译报不适用的错。

7.从解决方案中移除DSPlugin项目

      该项目是一个适用于VC6的插件,可以在单元测试出错时自动定位出错的代码行。在VC2008下不可用。

8.生成解决方案

      成功!

9.批生成解决方案

      成功!

10.升级examples.dsw

      用VC2008打开examples目录下的的examples.dsw文件,按照向导提示,进行升级。

11.编译CppUnitTestApp项目

      成功!

12.设置CppUnitTestApp项目为启动项目,编译,链接,运行

      成功!

      本文只说明了VC2008环境下编译CPPUNIT的过程,至于如何在VC2008中配置CPPUNIT并定义一个自己的测试框架,会在另一篇文章中说明。

Technorati 标签: VC2008 CPPUNIT 编译
原创粉丝点击