测试驱动开发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之前,初始化
@Before
public void init(){
System.out.println("init @Before");
}
//@After标记的方法 运行在@Test方法之后,一般用于销毁
@After
public void destory(){
System.out.println("destory @After");
}
//@Test 在测试方法上面加,类似于main独立运行
@Test
public void testEat(){
person.eat("汉堡");
}
}
- 再编写具体类Person
public class Person {
public void eat(String food){
System.out.println("吃"+food);
}
}
- 每写一个方法,可以直接测试方法