在vs2005如何使用cppunit

VS2005下搭建和使用CppUnit <br />编译安装CPPUnit:<br />解压CPPUnit,里面的INSTALL-WIN32.txt说明了如何编译CPPUnit和它的实例,简单的讲步骤如下:<br />打开src/CppUnitLibraries.dsw,如果是VC 7及以上版本,会有一个对话框询问是否将工程转换成更高版本,选择“Yes to all”进行转换;<br />打开“Build”菜单,选择“Batch Build...”,弹出“Batch Build...”对话框后点击“Select All”,然后Build。<br 阅读详情

vs2005如何使用cppunit 

1.    编译cppunit

目前在vs2005下直接编译cppunit工程是编译不过去的。还要对cppunit工程做一下适当的改动才能成功编译。

虽然网上有些文章介绍使用CPPUnitProjectWizard但是我查阅了相关资料:发现其实不用安装这个CPPUnitProjectWizard。也可以在vs2005下成功编译和链接Cppunit

首先,在对CppUnitLibraries解决方案做编译之前,需要在硬盘的cppuint目录下新建一个与src文件夹同级的lib文件夹。在 1.12.0 版本下这个问题已经解决。但是在1.12之前的版本还需要手动去建lib文件夹

其次:在编译TestRunner这个工程之前,需要先对MsDevCallerListCtrl.cpp文件做一下更改。

#import "libid:80cc 9f 66-e7d8-4ddd-85b6-d9e6cd0e93e2" version("7.0") lcid("0") raw_interfaces_only named_guids

改为

#import "libid:80cc 9f 66-e7d8-4ddd-85b6-d9e6cd0e93e2" version("8.0") lcid("0") raw_interfaces_only named_guids

这样将会从"%common_files%/MicrosoftShared/MSEnv/dte 80a .olb"导入 dte 80a .olb.

最后,将DSPlugIn这个工程从解决方案里删掉,因为它只支持vc6.0。做过这些处理后vs2005就应该可以成功编译cppunit

2.    vs2005下的环境配置

开发环境中,在vs2005的工具菜单下选项->项目和解决方案- > vc++目录设置好Include Lib引用路径。例如:在包含文件选项下加入C:/cppunit/lib 。在库文件选项下加C:/cppunit/include 。另外最好在计算机的系统环境变量下将lib路径添加到path变量下,这样就不用把dll拷来拷去。

3.    一个基于GUI的界面测试程序的例子

首先建一个基于扩展mfc的动态库工程DemoDll

再新建一个CDemo(被测试类)

头文件

#pragma once

 

class AFX_EXT_CLASS CDemo

{

public:

    CDemo(void);

    virtual ~CDemo(void);

 

    int          Add(int i);

    int          Subtration(int i);

public:      

    int          m_iOper;

};

 

cpp文件

#include "StdAfx.h"

#include "Demo.h"

 

CDemo::CDemo(void)

{

       m_iOper = 0;

}

 

CDemo::~CDemo(void)

{

}

 

int CDemo::Add(int i)

{

       return m_iOper += i;

}

 

int CDemo::Subtration(int i)

{

       return m_iOper -= i;

}

在同个一解决方案下新建一个测试工程用于测试这个Demo

新建一个基于Dialog的工程DemoMfcUnitTest。在项目属性里 链接器->输入->附加依赖项下输入cppunitd_dll.lib testrunnerd.lib DEBUG)或cppunit_dll.lib testrunner.lib Release 并需要将被测试类的头文件路径添加到项目属性里c/c++->附加包含目录里。例如:../ DemoDll。同时在项目依赖项中把Demodll设为依赖项。另外,要注意保证这两个工程的输出目录相同。

App类中 添加下列头文件

#include "cppunit/extensions/TestFactoryRegistry.h"

#include "cppunit/ui/mfc/TestRunner.h"

#include "TDemoMfc_CDemo.h"              // 测试用例类头文件

 并在IninInstance()函数中把显示对话框的代码注销掉并在原地曾加下列代码用以显示测试界面。

CppUnit::MfcUi::TestRunner runner;     

       CppUnit::TestFactoryRegistry &registry = CppUnit::TestFactoryRegistry::getRegistry(CTDemoMfc_CDemo::RegCaseName());

    runner.addTest(registry.makeTest());

    runner.run();

       return true;

之后构建一个测试用例类。

头文件:

#pragma once

 

#include "cppunit/TestCase.h"

#include "CppUnit/extensions/HelperMacros.h"

#include <string.h>

#include "Demo.h" // 被测试类

 

class CTDemoMfc_CDemo : public CppUnit::TestCase

{

       // 宏定义

       CPPUNIT_TEST_SUITE(CTDemoMfc_CDemo); // 开始声明一个新的测试程序集

       CPPUNIT_TEST(TestAdd);               // 添加TestAdd测试函数到测试程序集

       CPPUNIT_TEST(TestSubtration);     // 添加TestSubtration测试函数到测试程序集

     CPPUNIT_TEST_SUITE_END();          // 声明结束

public:

       CTDemoMfc_CDemo(void);

 

       void TestAdd();

       void TestSubtration();

       static std::string RegCaseName() { return "CTDemoMfc_CDemo";}     

 

public:

       ~CTDemoMfc_CDemo(void);

};

Cpp文件

#include "StdAfx.h"

#include "TDemoMfc_CDemo.h"

#include "cppunit/extensions/TestFactoryRegistry.h"

#include "cppunit/TestAssert.h"

 

// 对指定程序集进行注册

CPPUNIT_TEST_SUITE_NAMED_REGISTRATION(CTDemoMfc_CDemo,CTDemoMfc_CDemo::RegCaseName());

 

CTDemoMfc_CDemo::CTDemoMfc_CDemo(void)

{

}

 

CTDemoMfc_CDemo::~CTDemoMfc_CDemo(void)

{

}

 

void CTDemoMfc_CDemo::TestAdd()

{

       CDemo  cDemo;

       int iResult = cDemo.Add(10);

 

       // 宏判断两个值是否相等

       CPPUNIT_ASSERT_EQUAL(iResult,10);

}

 

void CTDemoMfc_CDemo::TestSubtration()

{

       CDemo  cDemo;

       int iResult = cDemo.Subtration(10);

 

       // 宏判断两个值是否相等

       CPPUNIT_ASSERT_EQUAL(iResult,-10);

}

最后编译并运行这个工程就会看到CppUnitGUI测试界面。

关于Cppunit详细的介绍,可以访问http://morningspace.51.net/resource/cppunit/cppunit_anno.html。这上面对cppunit的描述即全面又详细。

 

VS系列IDE(2005、2008等)下使用cppunit的方法及使用示例 一、    准备cppunit, 1、 下载并编译cppunit,这里以1.21.1为例,下载之后如图1所示为: 图1 2、    进入cppunit-1.12.1\src编译VC\VS工程文件,可能刚开始时候没有VS的工程文件sln,此时直接打开VC的工程文件,打开后进行转换,之后就会出现VS的工程文件,如下图2所示: 图2 3、    编译之后即会在目录cpp 阅读详情

相关推荐

VS2005配置CPPUnit进行单元测试

说明:非常感谢原作者,我亲自操作测试编译成功。 关于使用vs2005编译,会生成的错误比较多,其中包含这篇文章提到的修改版本7为8就解决了其他错误。 另外编译的时候有一一项错误是 #error This add-in is for VC++ 6.0 only.   这个告知我们这个DSPlugin项目是在vc6.0环境使用的,vs2003及以后的都不用该项目了。我觉得为了不碍眼直接从解决方案管

thanklife的专栏 754

VS2005使用 CppUnit 的准备工作

在网上找了很多关于在 VS2005使用 CppUnit 的方法的文章,都不如意(要么针对的 VC 的版本太老,要么就是不详细),因此经过几番摸索,总算找到了一种方法。小结一下,备忘。 分为以下2个步骤: 1. 编译生成 lib,dll 文件 2. 在 VS2005 中建立测试工程(在这个工程中写测试用例,调用 CppUnit 工具) 首先,编译生成 lib,dll 文件 1.

目前打算换一个工作,有招聘windows c++方向的也欢迎联系,北京、济南 最好 1975

cppunit vs2005 使用

vs2005如何使用cppunit 1.    编译cppunit目前在vs2005下直接编译cppunit工程是编译不过去的。还要对cppunit工程做一下适当的改动才能成功编译。虽然网上有些文章介绍使用CPPUnitProjectWizard。这个是编写测试工程的时候使用的,类似win32工程向导。首先,在对CppUnitLibraries解决方案做编译之前,需要在硬盘的cp

TrustZone领域先行者 2839

VS2005使用CPPUNIT进行单元测试(全过程)

一、单元测试CPPUNIT简介  几乎每个开发人员都写过测试代码,但是往往这些代码不系统,也没有良好的管理,同时在测试代码编写过程中也有很多重复的劳动,比较繁琐。在一个软件开发过程中,往往会进行很多修改,迭代开发的模型随处可见,如何验证程序的功能、性能和结构是否符合要求是一项重要的工作。  单元测试是属于白盒测试和结构性测试,一般由开发人员开展,当然如果有好的测试工具支持,测试人员甚至最

孟游的专栏 765

Win32平台如何配置才能使用Boost、ACE、CppUnit

本博客(http://blog.csdn.net/livelylittlefish )贴出作 者(三二一@小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正! Win32平台如何配置才能使用Boost、ACE、CppUnit 1. 环境变量   (1) 为ACE-5.6.4添加/修改的的环境变量   C:/Documents and Settings/zubo.yu>echo %ACE_ROOT% E:/opensource/ACE-5.6.4/ACE_wrappers  

学习,思考,记录,分享。 3726

cppunit使用流程说明(关键在于思路)

date:2012.06.08 author:yoen 标题:cppunit使用流程说明(UI版) 目的:提供整体思路,详细见搭建使用说明 1.配置vs2005环境  1.1、配置cppunit兼容vs2005(详见搭建和使用说明http://www.vckbase.com/document/viewdoc/?id=1258)  1.2、配置vs2005include和lib目录:加

kluleia的专栏 729

Using CppUnit

The arcticle of codeproject is very clear about using CppUnit.http://www.codeproject.com/library/Using_CPPUnit.asp But I will speak about some important issues about the upon article: 1)If we use ...

ribishuangba 67

如何配置才能使用cl命令编译C/C++程序?

如何配置才能使用cl命令编译C/C++程序?   在VS环境中,我们可以顺利的编译、生成程序。究其原因,是因为VS的IDE本身已经配置好了编译程序所需的executable file,include files和library的路径。以VS2005为例,在其IDE环境中,通过tools->options->Projects and Solutions->VC++ Directories,即可查看已经配置好的Executable files,Include files和Library files。  

学习,思考,记录,分享。 5185
上一篇: C#_App.config配置文件的读取与更新
下一篇: 实施CMMI易犯的8个错误
jinjunmax_78
博客等级 码龄21年 2粉丝 3原创
评论 11
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值