尽管很早开始就不止一次得对自己说,单元测试!单元测试!单元测试! 但是依然失望得发现现在所遇到所有的烦恼几乎都与测试有关。曾经要一个人三天内搞定一个论坛--功能还相当复杂:除了基本的crud发帖回帖搜索什么的还要有用户分组、访问权限、子论坛,等,现在想当时是什么让我在撑过来的?是那一个个简单难看弱智的testcase!在我看来一个不懂得tdd不理解测试先行不清楚怎么写testcase的程序员就几乎就不能算是个合格得程序员。这不是技术问题,是政治问题。尤其是在你发现你的已经离职的同事写的一个极为复杂的自定义控件在使用的时候出现一大堆bug而你还要花一堆时间去纠正时的绝望。整个项目组没人写testcase?没问题,我自己写就行了----整个软件框架模块可测试性太低?没问题,花点时间把重要的类解耦出来--时间来不及?更没问题,磨刀不误砍柴功。
明天打算给那些组件所有public的方法写上测试用例--虽然花时间给别人的代码写测试是极为无聊的行为,但是现在我也认了,不能再这样提心吊胆得写代码和手工测试了,宁可花上一个上午甚至更多的时间来写用例搭建环境。Rod Johnson说得对极了,牛仔式真是编程害死:满天飞的工厂模式、单例、静态变量,什么注释都没有的监听接口----最重要的是,没有测试用例--乃还算程序员吗?知道老子花了多少时间来拜读修改重构step in,step over您的"大作"?holy shit.
Del.icio.us : java zqc test 单元测试