您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源單元測(cè)試工具 > cppUnit
如何使用cppunit做模塊測(cè)試
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2013/4/15 15:39:33 ] 推薦標(biāo)簽:

  Main函數(shù):

  #include

  #include

  // 如果不更改TestSuite, 本文件后期不需要更改.

  int main()

  {

  CppUnit::TextUi::TestRunner runner;

  //從注冊(cè)的TestSuite中獲取特定的TestSuite

  CppUnit::TestFactoryRegistry ®istry = CppUnit::TestFactoryRegistry::getRegistry("alltest");

  //添加這個(gè)TestSuite到TestRunner中

  runner.addTest( registry.makeTest() );

  // 運(yùn)行測(cè)試

  runner.run();

  }

  編譯:

  g++ Math.cpp MathTest.cpp main.cpp -lcppunit -ldl -lm -lpthread -o mathTest

  運(yùn)行:

  export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH

  ./mathTest

  顯示:

  通過(guò)的情況:OK (1 tests)

  失敗的情況:會(huì)顯示那個(gè)測(cè)試類中的哪行測(cè)試不通過(guò)

  !!!FAILURES!!!

  Test Results:

  Run: 1 Failures: 1 Errors: 0

  1) test: MathTest::testAdd (F) line: 15 MathTest.cpp

  assertion failed

  - Expression: ret==4

  四:實(shí)際應(yīng)用

  之前組內(nèi)討論時(shí),有些模塊考慮到開(kāi)發(fā)測(cè)試代碼時(shí)間,以及新人上手慢的問(wèn)題,我覺(jué)得也有道理,后面有時(shí)間會(huì)繼續(xù)完善測(cè)試過(guò)程,總結(jié)下什么樣的模塊適合做單元測(cè)試,以及怎么減少這種代價(jià)和風(fēng)險(xiǎn)。

  五:什么樣的模塊適合做類單元測(cè)試

  不能單獨(dú)運(yùn)行的模塊,必須依賴上級(jí)模塊的輸出結(jié)果等情形;

  提供給別的模塊做調(diào)用的,提供頭文件,.so動(dòng)態(tài)庫(kù)或者.a靜態(tài)庫(kù);

  Api測(cè)試,基礎(chǔ)組件(kfc、mmdb)的api接口;

  以上情形中,被測(cè)函數(shù)參數(shù)個(gè)數(shù)、類型不發(fā)生變化或者變化不頻繁;

  測(cè)試過(guò)程中,使用了開(kāi)發(fā)包裝過(guò)的工具去測(cè)試的,也可以考慮下是否可行;

  待補(bǔ)充。

   六:對(duì)開(kāi)發(fā)的要求

  模塊測(cè)試的提測(cè)標(biāo)準(zhǔn):

  需要有被測(cè)功能的頭文件;

  需要一份簡(jiǎn)單的文檔,說(shuō)明該功能怎么調(diào)用,以及對(duì)傳入的參數(shù)有什么樣的要求(比如廣告的featureWordHash要事先排序等這
類問(wèn)題);

  原文鏈接http://testing.etao.com/

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