開源就是好!愿上帝保佑那些吃飽了飯的程序員,保佑他們不斷把自己的心血貢獻出來。阿門。
這不,我現在又盯上了TUT,我認為她是我見過的最簡潔、最輕量級的C++單元測試框架。
我發現自己患上了“輕量級依賴癥”,對那些大而全的重量級東西不感興趣,反而對那些架構簡單,用起來輕便的東西十分入迷。
這也難怪,一般的軟件總是傾向于把許多你很少或者根本用不著的功能塞給你,代價就是軟件看起來相對笨重,不夠敏捷。這種例子簡直數不勝數。
好了,回歸正題。TUT是Template Unit Tests的縮寫,是一個C++的單元測試框架。她的網址是http://tut-framework.sourceforge.net/,作者是Vladimir Dyuzhev,目前居住在加拿大。
作者設計TUT的原因是他在開發中需要單元測試框架,在試用比較了其他C++單元測試框架后,覺得她們用起來都很繁瑣,因此他決定自己搞一個。(人類多虧了有這種精神,才能不斷向前發展。)
結果他成功了。按照作者的目標,他對TUT的期望是:
No C-style macros
No manual registration for test groups and methods
No libraries of any kind
Neutrality to user interface
No Javisms
總而言之,就是不要運用丑陋的宏來產生代碼,不要自己手工去注冊測試用例,由TUT框架自動搞定,接口友好簡單中立,不需要編譯成庫文件,直接包含.h文件即可,還有就是這是一個C++的框架,理所當然要按照C++的慣用法來設計,比如用RAII手法來代替其他框架常用的setUp()和tearDown()等。
我試用了下,確實非常的方便,只需要幾分鐘就可以上手,并且沒有多余的東西。一個字:爽!
當然我研究TUT并不僅僅是使用她,我還希望了解學習她的架構和設計理念。在后面的系列文章中,我會對此進行分析,把自己的心得體會寫出來。