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