您的位置:軟件測(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è)試

  2. 使用

  參考:

  CppUnit測(cè)試框架入門 http://www.vckbase.com/document/viewdoc/?id=1258

  Unit testing with CPPUnit http://www.codeproject.com/KB/library/Using_CPPUnit.aspx

  visual studio 2005 wizard for cpp unit http://www.nabble.com/visual-studio-2005-wizard-for-cpp-unit-td4809724.html

  3. 框架

  本節(jié)把CPPUNIT的框架分為三個(gè)部分進(jìn)行簡(jiǎn)單介紹。

  1) 測(cè)試對(duì)象族

  CPPUNIT的測(cè)試對(duì)象的類關(guān)系圖:

  Test:所有測(cè)試對(duì)象類的抽象基類,主要是定義run方法和統(tǒng)計(jì)子對(duì)象個(gè)數(shù)和查找遍歷子對(duì)象的方法;

  TestFixture:該類非常簡(jiǎn)單,只定義了兩個(gè)方法setUp和tearDown,作為測(cè)試對(duì)象的準(zhǔn)備和拆除方法,一般用戶編寫的測(cè)試類都直接繼承它;

  TestComposite、TestLeaf:根據(jù)設(shè)計(jì)模式中組合模式而設(shè)計(jì)的兩個(gè)類,都繼承自Test;

  TestSuite:具體化了TestComposite的內(nèi)容存儲(chǔ)方式、添加子對(duì)象接口等等。該類對(duì)象包含了若干測(cè)試對(duì)象,作為測(cè)試對(duì)象的容器,而且可以嵌套;

  TestRunner: 控制測(cè)試對(duì)象的構(gòu)造和測(cè)試對(duì)象執(zhí)行的類;

  TestCase: 定義了一個(gè)測(cè)試對(duì)象要實(shí)現(xiàn)的具體接口,同時(shí)繼承TestFixture的setUp和tearDown;

  接口

  TestCaller: 使用了設(shè)計(jì)模式中的策略模式,作為測(cè)試對(duì)象的終封裝類,提供了測(cè)試運(yùn)行的策略,在測(cè)試執(zhí)行中扮演了重要的角色。它是一個(gè)模板類。

  2) 信息收集與顯示族

  CPPUNIT的測(cè)試信息收集與顯示的類關(guān)系圖

  Outputter:是所有測(cè)試輸出類的抽象基類,定義了write方法;

  CompilerOutputter:以編譯器信息類似方式輸出測(cè)試信息,使用TestResultCollector獲取測(cè)試信息;

  TextOutputter:以文本流的方式輸出測(cè)試信息,同樣使用TestResultCollector獲取測(cè)試信息;

  TestListener:以設(shè)計(jì)模式中觀察者模式定義了Observer所應(yīng)該具有的從TestResult獲取測(cè)試步驟信息的方法;

  TestSuccessListener:實(shí)現(xiàn)了TestListener接口,同時(shí)繼承了SynchronizedObject了從而具有線程安全性;

  SynchronizedObject:該類實(shí)現(xiàn)了lock和unlock操作;

  ExclusiveZone:使用SynchronizedObject進(jìn)行了臨界區(qū)的加鎖和解鎖操作;

  TestResult:這個(gè)測(cè)試信息的收集者,在觀察者模式中扮演Subject角色,是它把測(cè)試的各個(gè)步驟的信息通知到所有Listener對(duì)象的。

  3)測(cè)試對(duì)象管理族

  CPPUNIT測(cè)試對(duì)象管理類關(guān)系圖

  TestFactory:運(yùn)用了設(shè)計(jì)模式中工廠設(shè)計(jì)模式,這里只定義了一個(gè)makeTest方法,是一個(gè)抽象基類;

  TestSuiteFactory:該類繼承自TestFactory,而且是模板類,是生成TestSuite對(duì)象的工廠;

  TestFactoryRegistry:管理TestFactory對(duì)象的類(這里繼承自TestFactory個(gè)人感覺有點(diǎn)不太恰當(dāng));

  AutoRegisterSuite:模板類,自動(dòng)把特定的TestSuiteFactory對(duì)象注冊(cè)到TestFactoryRegistry對(duì)象;

  TestSuiteBuilderContextBase、TestSuiteBuilderContext:用于構(gòu)建測(cè)試對(duì)象的類,詳細(xì)見代碼分析部分。

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