C++測試架構的選擇

來源:互聯網
上載者:User

轉自: http://blog.whitejadesoft.com/?p=225

轉自: http://www.cppblog.com/jinq0123/archive/2010/04/13/112430.html

 

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.cppblog.com/shuiyuan2004/archive/2007/08/29/31105.html )

CxxTest添加新的測試工作量非常小;無須註冊測試案例;可移植性很好;便於裝卸;控制異常、崩潰方面的能力也不錯;擁有良好的斷言功能;支援多種輸出方式;支援測試套件。

最大的優點:編譯即測試方式,並且可以雙擊結果行立即定位到相應的原始碼,相當吸引人;支援多種輸出,輸出結果較為詳細;編寫測試簡單;

缺點:需要用到perl對測試代碼進行文法掃描,產生可執行代碼,需要用到makefile檔案(不是必須);準備工作比較麻煩。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.