C++單元測試框架 CppTest

webphp 13年前發布 | 11K 次閱讀 單元測試

CppTest 是 C++ 的單元測試框架。CppUnit 簡單得多,但是效果也不錯。下面簡要地對比這兩個強大的工具:

  • 創建單元測試和測試套件的簡便性。CppUnit 和 CppTest 都創建類方法形式的單元測試,類本身都派生自工具提供的 Test類。但是,CppTest 的語法略微簡單些,測試的注冊在類構造器內進行。對于 CppUnit,需要額外的宏 CPPUNIT_TEST_SUITE 和CPPUNIT_TEST_SUITE_ENDS
  • 運行測試。CppTest 直接調用測試套件上的 run 方法,而 CppUnit 使用單獨的 TestRunner 類,通過調用這個類的 run 方法運行測試。
  • 擴展測試層次結構。對于 CppTest,隨時可以從以前的測試套件派生新類,從而擴展測試套件。新的類定義一些新函數,這些函數成為新的單元測試。只需在新類類型的對象上調用 run 方法。與之相反,CppUnit 需要使用 CPPUNIT_TEST_SUB_SUITE宏和類繼承來實現相同的效果。
  • 生成格式化的輸出。CppTest 和 CppUnit 都允許定制輸出。但是,CppTest 有預定義的 HTML 輸出格式化器,而 CppUnit 沒有。但是,只有 CppUnit 支持 XML 格式化。它們都支持文本和編譯器式格式。
  • 創建測試裝備。要想使用測試裝備,CppUnit 要求測試類派生自 CppUnit::TestFixture。您必須提供設置和退出例程的定義。對于 CppTest,只需提供設置和退出例程的定義。這個解決方案顯然更好,因為這讓客戶機代碼更簡單。
  • 預定義的宏支持。CppTest 和 CppUnit 都提供一組用于斷言、處理浮點等的宏。
  • 頭文件。 CppTest 只要求包含一個頭文件,而 CppUnit 客戶機代碼必須根據使用的特性包含多個頭文件,比如 HelperMacros.h 和 TextTestRunner.h。
       項目地址: http://cpptest.sourceforge.net/

 本文由用戶 webphp 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!