现在的位置: 首页 > 自动控制 > 工业·编程 > 正文

在 VS2005 下使用 CppUnit 的准备工作

2012-06-25 23:06 工业·编程 ⁄ 共 2295字 ⁄ 字号 暂无评论

在网上找了很多关于在 VS2005 下使用 CppUnit 的方法的文章,都不如意(要么针对的 VC 的版本太老,要么就是不详细),因此经过几番摸索,总算找到了一种方法。小结一下,备忘。

分为以下2个步骤:

1. 编译生成 lib,dll 文件

2. 在 VS2005 中建立测试工程(在这个工程中写测试用例,调用 CppUnit 工具)

首先,编译生成 lib,dll 文件

1.下载 CppUnit 源文件(这里用 1.12.0 版本)

2.解压后,进入其中的 src 目录(cppunit-1.12.0\src),打开 CppUnitLibraries.dsw,

编译其中的几个工程:

     cppunit:

             生成 cppunitd.lib     (debug 版本)

             生成 cppunit.lib        (release 版本)

     cppunit_dll:

             生成 cppunitd_dll.lib, cppunitd_dll.dll       (debug 版本)

             生成 cppunit_dll.lib, cppunit_dll.dll           (release 版本)

     TestRunner:

              生成 testrunnerud.dll, testrunnerud.lib       (debug 版本)

              生成 testrunneru.dll, testrunneru.lib         (release 版本)

     TestPlugInRunner:

              生成 TestPlugInRunnerd.exe

     DllPlugInTester:

             生成 DllPlugInTesterd.exe

主要是为了提取这三个文件(debug 情况下):

       cppunitd.lib, cppunitd_dll.lib, testrunnerud.dll

这样我们就可加入到后面要新建的测试工程中

然后,建立测试工程:

1. 设置系统环境变量

设置环境变量的作用:

       1) 是为了指出 CppUnit 的 include 和 lib 目录的位置,来找到刚才编译生成的 lib 和 dll 文件,以及 include 目录中的文件;

       2) 同时,也是为了便于我们我们以后建立测试工程的时候,不需要每次都复制 CppUnit 的 lib, dll 文件 和整个 include 目录。因为针对不同的工程,我们一般需要建立多个对应的测试工程。

系统环境变量的设置方法:

       1) 添加 CPPUNITDIR 系统变量(在我的电脑->属性->高级...不说了,罗嗦...),变量值取刚才编译 CppUnit 的目录,例如: E:\CppUnit\cppunit-1.12.0;

        其中,cppunit-1.12.0 目录下有这些子目录:\include,   \lib

      2) 在后面新建的测试工程设置中(后面会讲建测试工程的方法:)),也要添加一些设置:

       project -> Properties -> Configuration Properties -> C/C++ 中的 Additional Include Directories 中添加:"$(CPPUNITDIR).\include"

        project -> Properties -> Configuration Properties -> Linker 中的 Additional Library Directories 中添加: "$(CPPUNITDIR).\lib"

        这样,VS2005就能找到 include 和 lib 目录,而不用每次新建一个测试工程都要复制这两个目录了。最好把这两个目录下的文件复制到一个相对稳定的目录下,把 CPPUNITDIR 的值设置为这个目录。这样就比较方便了。

2,利用向导建立测试工程

        先去 SourceForge 下一个压缩包:CPPUnitProjectWizard, 这个包的作用是可以在 VS2005 新建工程时,提供一个工程向导,帮助一次性生成一个“接近于可以跑”的 测试工程。具体怎么应用这个工程向导参见压缩包中的说明文件,我要补充的是:

        之所以说“接近于可以跑”,是这个工程向导还做得不是很完善,利用这个向导生成的工程还有问题,还要添加前面所说的两个路径:"$(CPPUNITDIR).\include" 和 "$(CPPUNITDIR).\lib",而且还要修改两个地方,把

project -> Properties -> Configuration Properties -> Debugging 中的 Command 一行修改一下:DllPlugInTesterd_dll.exe 改为 DllPlugInTesterd.exe

同样还有:

project -> Properties -> Configuration Properties -> Build Events -> Post Build Event 中的 Command line 一行:DllPlugInTesterd_dll.exe 改为 DllPlugInTesterd.exe

这样就行了,测试生成的报告结果为 xml 文档,要在浏览器中浏览还需要一个 xsl 文件,在这个目录下面有:cppunit-1.12.0\contrib\xml-xsl 中的 report.xsl 文件,复制到与要显示的 xml 文件同一个文件夹即可。

要充分发挥 CppUnit 的功能还有其他的,比如测试结果显示为图形对话框界面。。。ha, 慢慢摸索吧

给我留言

留言无头像?