测试驱动开发TDD
是一种不同于传统软件开发流程的新型开发方式
特点:
先编写测试代码 – 实现主要逻辑
再写功能代码 – 实现细节
通过测试来推动整个开发的进行。
有助于编写简洁可用和高质量的代码,并加速开发过程呢。
比如写一个Person类,看方法能不能执行:
TDD的原理是在开发功能代码之前,先编写单元测试用例代码,第一次用可能会很不习惯,因为代码里面会有一堆红色的报错,还会增加代码量,测试代码是系统代码的两倍或更多,但是它的好处就太重要了:用TDD节省了大量调试程序及挑错时间,它可以做到在任意一个开发节点都可以拿出一个可以使用,含少量bug并具一定功能和能够发布的产品。
我认为这种方法是利大于弊的,毕竟优势很大,先写逻辑后写细节,一步步调试,避免了大量的bug,bug毕竟是最让人头疼的东西。但是这种方法一般用于很可能错误的情况下,如果有些基本不可能错或者有大量经验的代码段就不需要使用,减少代码量。
这里写一个简单的小例子Person类及方法
- 编写测试类PersonTest
```java
import org.junit.After;
import org.junit.Before;
import org.junit.Test;public class PersonTest {public Person person = new Person();//@Before 标记的方法,运行在@Test之前,初始化@Beforepublic void init(){System.out.println("init @Before");}//@After标记的方法 运行在@Test方法之后,一般用于销毁@Afterpublic void destory(){System.out.println("destory @After");}//@Test 在测试方法上面加,类似于main独立运行@Testpublic void testEat(){person.eat("汉堡");}
}
- 再编写具体类Person
public class Person {public void eat(String food){System.out.println("吃"+food);}
}
- 每写一个方法,可以直接测试方法