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