昨天我们公司的3M team 的新人们在隔壁的办公室KT, 身为新人的我也跑过去,一看在讲JUnit,听了一会儿,
讲了很多Assert云云的东西,我想到了一点,为什么不先说说为什么要JUnit,否则我想任何人都在会和我一开始学Junit时候一样,认为不霄一顾,想着
总想着这些东西,我用equals,print的组合都能实现的,更可以嵌在代码本身,何必又独立出来。
到这里大家知道我想说什么,我想说的是TDD的重要性。产生于XP的TDD,呵呵,(不知道我们敏捷开发组的同僚们用不用),这个TDD的思想是这样的
我们不应该完成开发之后再去写测试,这通常只是马后炮,测试的本质上相当于设计文档,而不是花大量的时间去摆弄一个复杂的图形化工具,
你要直接在代码里拟画一个类。开始时候先为一些小功能模块编写测试。很多情况下,测试不能编译,因为类本身不存在。
所以我们要做的就是用最少量的代码完成这个类,以便通过测试,并增加更多的测试。这里说一下,xp编程中,基本过程是这样的:
构思->编写测试代码->编写代码->测试,而且编写测试和编写代码都是增量式的,写一点测一点,
在编写以后的代码中如果发现问题可以较块的追踪到问题的原因,减小回归错误的纠错难度。
(回归让我想到了回溯的算法,嘿嘿,大学的噩梦)
于是测试框架来了,--JUnit,衍生到XUnit,请开始使用他们巴。那位写Taconite的Ryan Asleson说:测试会上瘾的,一开始接触JUnit的人都心存疑虑
但是最后都会爱上他们。因为当你发现增加新的特性只需要几分钟的测试过程的时候,你就会意识到今天我们所说的。
最后说一下JsUnit,据我看用的人很少,说白了是Junit的JS版本,自然也是RTF(Regression Testing Framework)的东东,,很多用法都差不多,不过它是基于函数的,不是方法哦
地址www.edwardh.com/jsunit,弱弱的问一下,有人用这个来测试ajax吗?嘿嘿!
明天又要去看可恶的BPM文档了。