您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源單元測(cè)試工具 > cppUnit
CppUnit測(cè)試框架在VC2008中的應(yīng)用
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/12/30 9:29:13 ] 推薦標(biāo)簽:CppUnit 測(cè)試框架

  測(cè)試驅(qū)動(dòng)開發(fā)(TDD)是以測(cè)試作為開發(fā)過程的中心,它堅(jiān)持,在編寫實(shí)際代碼之前,先寫好基于產(chǎn)品代碼的測(cè)試代碼。開發(fā)過程的目標(biāo)是首先使測(cè)試能夠通過,然后再優(yōu)化設(shè)計(jì)結(jié)構(gòu)。測(cè)試驅(qū)動(dòng)開發(fā)式是極限編程的重要組成部分。XUnit,一個(gè)基于測(cè)試驅(qū)動(dòng)開發(fā)的測(cè)試框架,它為我們?cè)陂_發(fā)過程中使用測(cè)試驅(qū)動(dòng)開發(fā)提供了一個(gè)方便的工具,使我們得以快速的進(jìn)行單元測(cè)試。XUnit的成員有很多,如JUnit,PythonUnit等。給大家介紹的CppUnit即是XUnit家族中的一員,它是一個(gè)專門面向C++的測(cè)試框架。

  用CppUint進(jìn)行測(cè)試時(shí),一般先以某個(gè)函數(shù)或者某個(gè)類作為測(cè)試單元,完成測(cè)試;在完成這些基本的測(cè)試后,再將引用到測(cè)試過的這些函數(shù)或者類的函數(shù)或者類,作為測(cè)試單元完成測(cè)試;繼續(xù)下去,從而完成整個(gè)模塊甚至是整個(gè)系統(tǒng)的測(cè)試,從而達(dá)到更多清除bug的目的。

  一、CppUnit測(cè)試框架

  CppUnit測(cè)試框架的源代碼可以到http://sourceforge.net/projects/cppunit/上下載。下載解壓后,你將看到如下文件夾:

  主要的文件夾有:

  doc: CppUnit的說(shuō)明文檔。另外,代碼的根目錄,還有三個(gè)說(shuō)明文檔,分別是INSTALL,INSTALL-unix,INSTALL-WIN32.txt。
  examples: CpppUnit提供的例子,也是對(duì)CppUnit自身的測(cè)試,通過它可以學(xué)習(xí)如何使用CppUnit測(cè)試框架進(jìn)行開發(fā)。
  include: CppUnit頭文件。
  src: CppUnit源代碼目錄。

  二、基本原理

  CppUint進(jìn)行測(cè)試的基本原理是:對(duì)于每一批測(cè)試,編寫一個(gè)繼承自TestCase的測(cè)試類,其中setUp和tearDown 兩個(gè)虛函數(shù)分別用于進(jìn)行測(cè)試數(shù)據(jù)的初始化和釋放操作;對(duì)于每一項(xiàng)測(cè)試,分別定義一個(gè)void返回類型的無(wú)參數(shù)方法,檢測(cè)測(cè)試過程,可以用以下幾個(gè)宏:

  其中,“失敗”的含義是程序運(yùn)行出現(xiàn)異常,并且所有測(cè)試過程中止。

  在完成一個(gè)或者多個(gè)測(cè)試類的編寫后,需要用TestRunner類的實(shí)例來(lái)運(yùn)行每個(gè)測(cè)試類的測(cè)試函數(shù)進(jìn)行測(cè)試。TestRunner類型共有:TextUi::TestRunner,QtUi::TestRunner,MfcUi::TestRunner三個(gè),都可以用來(lái)運(yùn)行測(cè)試,其區(qū)別為:

  整個(gè)測(cè)試過程需要另外附加代碼,所以通常情況下,測(cè)試用例代碼和被測(cè)試對(duì)象因在不同的項(xiàng)目中。應(yīng)該在另一個(gè)項(xiàng)目(好在不同的目錄)中編寫測(cè)試類,然后把被測(cè)試的對(duì)象包含在測(cè)試項(xiàng)目中。根據(jù)測(cè)試工程建立的類型,Consol可以選擇TextUi::TestRunner,將結(jié)果輸出至控制臺(tái)顯示,MFC的GUI可以使用MfcUi::TestRunner,使用GUI來(lái)控制并查看測(cè)試結(jié)果。測(cè)試工程與被測(cè)試對(duì)象所在工程的類型是可以不同的。

  在使用VC作為開發(fā)工工具時(shí),建議使用TextUi::TestRunner,并更改其Outputter實(shí)例,使用附加的TraceOutputter,將信息輸出到信息輸出欄,雙擊信息輸出欄中一行,即可定位到出錯(cuò)位置。

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