|
你的选择:测试驱动的开发
测试驱动的开发(Test-driven development,TDD)提供了一些新特性。TDD认为测试是一个在开发代码过程中的主要工作之一,是一个需要连续执行的过程。TDD一直需要与单元测试打交道,直到开发者在单元测试中确信他(她)的代码工作良好且可以保持这种良好的工作状态为止。TDD本质上是一种不依赖于任何特定工具的思想。它当然并不局限于Java,这一概念也可以应用于其它编程语言。不过,TDD在Java中用的最为广泛,因此在下文中我将仅结合Java介绍TDD。
在开始开发之前需要创建测试计划,TDD和普通方法的根本区别就是TDD并不会像后者那样往往成为一份被遗忘的Word或者Excel文档。使用TDD,如果你开发一个包含有复杂逻辑的Java类,那么测试代码(开发者负责编写测试代码)并不会也变得复杂起来。开发者常常抱怨他们不得不与Word和Excel打交道,但是在测试Java的情况下,甚至最挑剔的开发者编写测试也没有问题。
Kent Beck在他的《测试驱动的开发:实例》一书中描述了下面的TDD步骤:
添加测试。
运行所有的测试,测试未通过。
修改代码。
运行所有的测试,测试全部通过。
重构(refactor)代码,消除冗余。 |
|