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