一直觉得TDD不是太好做,虽然很多地方都宣扬TDD有很多好处。以前做的时候都是先写工作代码,等工作代码写的差不多之后再加TestCase,把TestCase当作调试驱动。过两天就要到Karlskrona出差了,老大也没有给我分配什么任务。拿起Kent Beck 的 Test-Driven Development By Exampe准备一步一步感觉一下。TDD到底是不是吹得。
从网上下载了一个新的Eclipse,加上SVN插件。现在写所有代码都有把他放到SVN的习惯,也不管以后到底有没有用。如果没有Commit这一步总感觉没做什么事似的。
建立一个JAVA工程,建立test目录,在test目录添加TestCase类TestDollar,把书上的测试代码输入。
import junit.framework.TestCase;
public class TestDollar extends TestCase {
public void testMultiplication()
{
Dollar five = new Dollar(5);
five.times(2);
assertEquals(10, five.amount);
}
}
代码输入之后存在许多错误。在左边叉叉上点击左键,根据提示生成类Dollar。生成的时候指定目录为src,要不然以后还要移动一次,虽然移动也很容易,拉拉放放就可以了。 在根据提示功能把其它的错误也搞定。
做完之后感觉Eclipse对TDD开发方式的支持还可以,只要根据提示点几个按键就可以了。
把剩下的代码写完。TestCase跑完,看到绿色,感觉不错。这感觉和先写代码后写测试的感觉完全不一样。那时测试的感觉是,阿门,老天保佑不要出错。而TDD方式是,一个工作做完了。Commit,第一章干完。