您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源單元測(cè)試工具 > cppUnit
VS2005下使用CPPUNIT進(jìn)行單元測(cè)試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2014/1/7 13:09:19 ] 推薦標(biāo)簽:CPPUNIT 單元測(cè)試

  一、單元測(cè)試與CPPUNIT簡(jiǎn)介

  幾乎每個(gè)開發(fā)人員都寫過測(cè)試代碼,但是往往這些代碼不系統(tǒng),也沒有良好的管理,同時(shí)在測(cè)試代碼編寫過程中也有很多重復(fù)的勞動(dòng),比較繁瑣。在一個(gè)軟件開發(fā)過程中,往往會(huì)進(jìn)行很多修改,迭代開發(fā)的模型隨處可見,如何驗(yàn)證程序的功能、性能和結(jié)構(gòu)是否符合要求是一項(xiàng)重要的工作。

  單元測(cè)試是屬于白盒測(cè)試和結(jié)構(gòu)性測(cè)試,一般由開發(fā)人員開展,當(dāng)然如果有好的測(cè)試工具支持,測(cè)試人員甚至終用戶都可以參與。單元測(cè)試框架是編寫和運(yùn)行單元測(cè)試的軟件工具,用來構(gòu)建測(cè)試、運(yùn)行測(cè)試、報(bào)告測(cè)試結(jié)果。對(duì)于C/C++開發(fā),比較的收費(fèi)單元測(cè)試工具是C++ Test,免費(fèi)開源的則是CPPUNIT。

  CPPUNIT是基于 LGPL 的開源項(xiàng)目,初版本移植自 JUNIT ,是一個(gè)非常的開源測(cè)試框架。CPPUNIT和 JUNIT 一樣主要思想來源于極限編程。主要功能是對(duì)單元測(cè)試進(jìn)行管理,并可進(jìn)行自動(dòng)化測(cè)試。CPPUNIT設(shè)計(jì)遵循很多設(shè)計(jì)模式,代碼結(jié)構(gòu)也相對(duì)好理解。

  二、CPPUNIT安裝、使用和框架

  1. 安裝

  CPPUNIT的主頁是http://sourceforge.net/projects/cppunit/,從這里可以獲取它的源代碼cppunit-1.12.1.tar。安裝過程如下:

  1).解壓 cppunit-1.12.0.tar.gz到C:cppunit-1.12.1;

  2).打開src/CppUnitLibraries.dsw,如果是VC 7及以上版本,會(huì)有一個(gè)對(duì)話框詢問是否將工程轉(zhuǎn)換成更高版本,選擇“Yes to all”進(jìn)行轉(zhuǎn)換;

  3).打開“Build”菜單,選擇“Batch Build...”,彈出“Batch Build...”對(duì)話框后點(diǎn)擊“Select All”,然后Build。

  a.鏈接過程中會(huì)報(bào)錯(cuò):

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

  出錯(cuò)的文件是:srcmsvc6 estrunnerMsDevCallerListCtrl.cpp。這是由于使用VC 8.0編譯的緣故,需要修改一下它的源碼,打開該文件,找到出錯(cuò)行(#67),將其替換為:

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

  b.另外還有一個(gè)錯(cuò)誤:error C1189: #error :  This add-in is for VC++ 6.0 only。發(fā)生這個(gè)錯(cuò)誤的是工程“DSPlugIn”,這只是個(gè)插件,沒有也不影響CPPUnit的使用,因此可以無視這條錯(cuò)誤。再次編譯,可以從lib文件夾中找到所有的靜態(tài)庫文件及動(dòng)態(tài)庫文件。

  4).將include和lib文件夾加入到VC++的環(huán)境中。打開:Tools|Options|Projects and Solutions|VC++ Directories,將這兩個(gè)文件夾的路徑分別加入到Include files和Library files中。好再將lib文件夾加入到系統(tǒng)環(huán)境變量PATH中,這樣不用再將其中的動(dòng)態(tài)鏈接庫拷到工程目錄下而直接運(yùn)行單元測(cè)試了。至此,CPPUnit的編譯安裝完成了。

  5).使用CPPUnitProjectWizard向?qū)?chuàng)建支持使用CPPUnit的測(cè)試類的Visual Studio 2005項(xiàng)目,用這個(gè)向?qū)傻拇a,只是生成一個(gè)動(dòng)態(tài)庫,有DllPlugInTesterd_dll.exe來調(diào)取這個(gè)動(dòng)態(tài)庫測(cè)試,個(gè)人感覺用處不大。

  安裝向?qū)?/p>

  a. 下載 CPPUnitProjectWizard

  http://cppunit.sourceforge.net/cppunit-wiki/CppUnitVisualStudio2005Wizard?action=AttachFile&do=get&target=CPPUnitProjectWizard.7z

  b. 復(fù)制文件

  CPPUnitProjectWizard.vsdir  - 為向?qū)?/p>

  CPPUnitProjectWizard.vsz    - 讓VS8知道從哪里找到向?qū)?/p>

  到您的Visual Studio 8安裝目錄下的 VCProjects 文件夾中,C:Program FilesMicrosoft Visual Studio 8VCvcprojects。

  c. 把整個(gè)CPPUnitProjectWizard解決方案文件夾復(fù)制到您的Visual Studio 8安裝目錄下的VCWizards文件夾中。

  比如,我放在c:Program FilesMicrosoft Visual Studio 8VCVCWizardsCPPUnitProjectWizardCPPUnitProjectWizard

  或者,也可以放在你想放置的其它地方,然后編輯CPPUnitProjectWizard.vsz,定義參數(shù) ABSOLUTE_PATH

  Param="ABSOLUTE_PATH = c:Program FilesMicrosoft Visual Studio 8VCVCWizardsCPPUnitProjectWizardCPPUnitProjectWizard"

  d. 該項(xiàng)目需要定義環(huán)境變量 CPPUNITDIR

  比如,我的環(huán)境變量 CPPUNITDIR= D:cppunit-1.12.1

  后,修改 環(huán)境變量 %PATH%,在PATH路徑中,增加 %CPPUNITDIR%/lib,以便程序加載時(shí)能找到 cppunit_dll.dll

  e. 在開發(fā)環(huán)境中,設(shè)置好Include/Lib路徑

  %CPPUNITDIR%Include

  %CPPUNITDIR%LIB

上一頁12下一頁
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd