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

  一、單元測試與CPPUNIT簡介

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

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

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

  二、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及以上版本,會有一個對話框詢問是否將工程轉(zhuǎn)換成更高版本,選擇“Yes to all”進行轉(zhuǎn)換;

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

  a.鏈接過程中會報錯:

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

  出錯的文件是:srcmsvc6 estrunnerMsDevCallerListCtrl.cpp。這是由于使用VC 8.0編譯的緣故,需要修改一下它的源碼,打開該文件,找到出錯行(#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.另外還有一個錯誤:error C1189: #error :  This add-in is for VC++ 6.0 only。發(fā)生這個錯誤的是工程“DSPlugIn”,這只是個插件,沒有也不影響CPPUnit的使用,因此可以無視這條錯誤。再次編譯,可以從lib文件夾中找到所有的靜態(tài)庫文件及動態(tài)庫文件。

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

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

  安裝向?qū)?/p>

  a. 下載 CPPUnitProjectWizard

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

  b. 復制文件

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

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

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

  c. 把整個CPPUnitProjectWizard解決方案文件夾復制到您的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. 該項目需要定義環(huán)境變量 CPPUNITDIR

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

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

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

  %CPPUNITDIR%Include

  %CPPUNITDIR%LIB

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