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