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

  Main函數(shù):

  #include

  #include

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

  int main()

  {

  CppUnit::TextUi::TestRunner runner;

  //從注冊的TestSuite中獲取特定的TestSuite

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

  //添加這個TestSuite到TestRunner中

  runner.addTest( registry.makeTest() );

  // 運行測試

  runner.run();

  }

  編譯:

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

  運行:

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

  ./mathTest

  顯示:

  通過的情況:OK (1 tests)

  失敗的情況:會顯示那個測試類中的哪行測試不通過

  !!!FAILURES!!!

  Test Results:

  Run: 1 Failures: 1 Errors: 0

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

  assertion failed

  - Expression: ret==4

  四:實際應用

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

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

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

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

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

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

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

  待補充。

   六:對開發(fā)的要求

  模塊測試的提測標準:

  需要有被測功能的頭文件;

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

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

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