zoukankan      html  css  js  c++  java
  • CppUnit VS2008 编译总结

    参考文章:http://blog.csdn.net/ainiyidiandian/article/details/5788240#(CppUnit使用说明)

         http://www.cnblogs.com/blueswitkey/archive/2013/01/26/2877827.html(VS2008下CppUnit环境配置)

         http://wenku.baidu.com/view/49657e0102020740be1e9b42.html(含有MFC界面TestRunner的实例)


    一、使用CppUnit前需要做的准备工作(编译、环境配置)

    下载了cppunit的源代码压缩包并解压后,各目录结构所含文件为:

        *  config:该目录下包含了一些配置相关的文件,在Windows平台下意义不大

        * contrib:该目录下包含3个子目录bc5,msvc,xml-xsl,就是一些分发后或许有用的小工具,在msvc目录下是一个VBA脚本文件

        * doc:该目录下是cppunit的一些文档,不过实在是没什么可看的

        * examples:该目录下是cppunit的示例,这可是一个好东西

        * include:该目录下是cppunit源代码的头文件

        * lib:该目录下是cppunit编译后输出的lib文件

        * src:该目录下是cppunit源代码的cpp文件

    Windows环境下编译cppunit  VC6 VC2005 VC2008都类似:

        直接用VC6打开examples目录下的examples.dsw,得到如图所示的工程:

               

    • ClockerPlugIn:这个工程是一个VC的插件,我们在这里先不理会这些插件工程
    • cppunit:这个工程是cppunit的静态链接库
    • cppunit_dll:这个工程是cppunit的动态链接库
    • CppUnitTestApp:这个工程是测试cppunit本身的功能的,有MFC界面
    • CppUnitTestMain:这个工程是测试cppunit本身的功能的,控制台界面
    • CppUnitTestPlugIn:
    • DllPlugInTester:
    • DllPlugInTesterTest:
    • DumperPlugIn:
    • hierarchy:这个工程是一个演示工程,演示测试包的继承
    • HostApp:这个工程是一个演示工程,演示带MFC界面的cppunit的使用
    • money:这个工程是一个演示工程,
    • simple:这个工程是一个演示工程,演示cppunit最简单的使用方式,控制台界面
    • simple_plugin:
    • TestPlugInRunner:
    • TestRunner:这个工程是一个动态链接库,功能是让cppunit支持MFC界面

    在编译代码之前先在VC6中设置一下include路径和src路径。

      主要编译cppunit/cppunit_dll,分别是静态库和动态库,选择其一即可;编译TestRunner,这个是支持MFC界面的。


    易出现错误:

    链接过程中会报错:

      error C3505: cannot load type library '{80CC9F66-E7D8-4DDD-85B6-D9E6CD0E93E2}'

      出错的文件是:src/msvc6/testrunner/MsDevCallerListCtrl.cpp。这是由于使用VC 8.0编译的缘故,需要修改一下它的源码,打开该文件,找到出错行(#67),将其替换为:

     1 #if _MSC_VER >= 1400 // VC++ 8 or more
     2 
     3   //The following #import imports EnvDTE based on its LIBID.
     4 
     5   #import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version("8.0") lcid("0") raw_interfaces_only named_guids
     6 
     7   //The following #import imports EnvDTE80 based on its LIBID.
     8 
     9   #import "libid:1A31287A-4D7D-413e-8E32-3B374931BD89" version("8.0") lcid("0") raw_interfaces_only named_guids
    10 
    11   #else // vc7
    12 
    13   #import "libid:80cc9f66-e7d8-4ddd-85b6-d9e6cd0e93e2" version("7.0") lcid("0") raw_interfaces_only named_guids
    14 
    15 #endif

     添加环境变量:

    多个变量之间用分号“;”隔开。

    编译完成以后, 在cppunit根目录/lib/目录下,会生成若干lib,和dll文件, 都以cppunit开头. cppunitd表示debug版, cppunit表示release版。

    CppUnit为我们提供了两套框架库,一个为静态的lib,一个为动态的dll。其中项目cppunit为静态库,cppunit_dll为动态库,生成的库文件为:

    cppunit.lib:静态库release版;

    cppunitd.lib:静态库debug版;

    cppunit_dll.lib:动态库release版;

    cppunitd_dll.lib:动态库debug版;

     至此,我们就有了执行CPPUINT所需要的文件(.lib文件),剩下的事情,就是将这些文件运用到被测试的工程中去。


    配置工作:

    环境配置如下操作:

     

    1.在VS2008中点击 工具——选项——弹出的框中点击“项目和解决方案”边的+号——VC++目录——右侧“显示以下内容的目录”中选择“可执行文件”,添加 本机cppunit根目录lib

    2.在“包含文件”中,添加 本机cppunit根目录include

    3.同样,在库文件中,添加 本机cppunit根目录lib

     

    三、新建测试项目

    在VS2008中新建一个工程作为测试项目,在测试工程中也有一些需要配置的地方:右击测试项目,点击“属性”

     

    在弹出的窗口中,依次点击“链接器”——输入——在最上方“配置”中,选择Debug,在右侧“附加依赖项”中加入: cppunit根目录libcppunitd.lib

    然后,选择Release,在右侧“附加依赖项”中加入: cppunit根目录libcppunit.lib 

    至此,项目环境配置完成。

     

    、测试实例

  • 相关阅读:
    大数据学习13_MapReduce计数器&排序和序列化
    大数据学习12_MapReduce分区
    大数据学习11_MapReduce案例实战(单词统计)
    大数据学习10_Mapreduce
    大数据学习09_HDFS3
    周总结8
    《河北省重大技术需求征集系统》10_导入大量数据做测试
    《河北省重大技术需求征集系统》08_需求浏览
    《河北省重大技术需求征集系统》07_综合查询
    《河北省重大技术需求征集系统》06_网络审核
  • 原文地址:https://www.cnblogs.com/zhangxiaosong/p/3347122.html
Copyright © 2011-2022 走看看