C++測試框架的選擇
(金慶的專欄)
本文以表格形式總結了 “Exploring the C++ Unit Testing Framework Jungle” ( http://gamesfromwithin.com/exploring-the-c-unit-testing-framework-jungle ) 一文對各種單元測試框架的比較,并添加了原文所還沒有加入的Google Test. 并添加了另一項特性比較,即對Mock對象的支持。
各比較項為:
1.加入新測試最小化工作量 2.便于修改和移植 3.便于裝配/拆卸測試環境(fixtures) 4.對異常以及崩潰很好的控制 5.好的斷言功能 6.支持不同的輸出方式 7.支持測試套件(suites) 8.對Mock對象的支持
原作者喜歡:CppUnit, Boost.Test, CppUnitLite, 和 CxxTest.
從支持Mock對象這一點來看,只有CxxTest支持。而Mock對于單元測試是很關鍵的。
另外摘錄一個對CxxTest的評論( http://www.shnenglu.com/shuiyuan2004/archive/2007/08/29/31105.html )
CxxTest添加新的測試工作量非常??;無須注冊測試用例;可移植性很 好;便于裝卸;控制異常、崩潰方面的能力也不錯;擁有良好的斷言功能;支持多種輸出方式;支持測試套件。
最大的優點:編譯即測試方式,并且可以雙擊結果行立即定位到相應的源代碼,相當吸引人;支持多種輸出,輸出結果較為詳細;編寫測試簡單;
缺點:需要用到perl對測試代碼進行文法掃描,生成可執行代碼,需要用到makefile文件(不是必須);準備工作比較麻煩。
Powered by: C++博客 Copyright © 金慶