开源就是好!愿上帝保佑那些吃饱了饭的程序员,保佑他们不断把自己的心血贡献出来。阿门。
这不,我现在又盯上了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并不仅仅是使用她,我还希望了解学习她的架构和设计理念。在后面的系列文章中,我会对此进行分析,把自己的心得体会写出来。