测试驱动开发有下列三定律:
编写不能通过的单元测试前,不可以编写生产代码。
只可以编写刚好无法通过的单元测试,不能编译也算不通过。
只可以编写刚好足以通过当前失败测试的生产代码。
个人是不喜欢这些条条框框,这些东西看起来未免有一些教条主义。
概括一下上面三条原则:测试先于生产代码,生产代码是为了测试而写的。
let‘s do it!
这里用到了junit这个单元测试框架:
先来一个ServiceTest:
public class ServiceTest {
@Test
public void test(){
Service service = new Service();
Assert.assertEquals("服务接口",service.run());
}
}
这时编译是无法通过的,需要去创建一个Service类,创建一个run接口,
public class Service {
String run(){
return "服务接口";
}
}
这时候运行一下测试,是令人舒服的绿色。
测试是很重要的,下一篇文章将谈谈测试所带来的一些好处。