開篇
· 快速進(jìn)行軟件編碼,與功能測試應(yīng)該是每個(gè)寫代碼的人,應(yīng)該掌握的技能,如何進(jìn)行優(yōu)雅的寫代碼,把測試的時(shí)間壓縮,騰出時(shí)間來休息。下面聽我一一道來:
依賴:junit 4.4
hamcrest 1.3 core hamcrest 1.3 lib
· 項(xiàng)目結(jié)構(gòu)
· 選擇測試類,創(chuàng)建測試用例: test case
· 勾選需要測試的方法
· 下一步生成測試用例
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertThat;
import static org.junit.Assert.fail;
import java.io.ByteArrayOutputStream;
import java.io.PrintStream;
import static org.hamcrest.Matchers.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class DateTest2 {
private Date allDate;
private ByteArrayOutputStream bytes;
@Before
public void setUp() throws Exception {
allDate=new Date(5, 18, 2017);
bytes = new ByteArrayOutputStream();
System.setOut(new PrintStream(bytes));
}
@After
public void tearDown() throws Exception {
System.setOut(System.out);
}
@Test
public void testDate() {
Date date=new Date(5, 18, 2017);
assertEquals(true, date instanceof Date);
}
@Test
public void testIncrement() {
allDate.increment();
System.out.println();
assertEquals(6, allDate.getMonth().getMonth());
}
@Test
public void testPrintDate() {
allDate.printDate();
assertThat(bytes.toString(),is("5/18/2017
"));
}
@Test
public void testGetDay() {
fail("Not yet implemented");
}
@Test
public void testGetMonth() {
fail("Not yet implemented");
}
@Test
public void testGetYear() {
fail("Not yet implemented");
}
@Test
public void testEqualsObject() {
fail("Not yet implemented");
}
@Test
public void testToString() {
fail("Not yet implemented");
}
}
· fail() 方法為測試junit自動(dòng)生成,意味失;下面列舉junit常用測試方法“
也叫 斷言 使用斷言時(shí)候 ,建議靜態(tài)導(dǎo)入
```
assertEquals(String msg, Object expectRes, Object Res) -------- 用于值判斷
判斷expectRes.equals(Res) ,表示值等于的判斷,失敗則拋MSG
assertSame(String msg, Object expectRes, Object Res) -------- 用于地址判斷
判斷expectRes==Res,表示地址等于的判斷,失敗則拋MSG
assertTrue(String msg,Boolean result) ----------------------------用于Boolean判斷
判斷result是true還是false,失敗則拋MSG
assertNull(String msg,Object result)-------------------------------用于NULL判斷
判斷result是否為NULL,失敗則拋MSG
fail(String msg);---------------------------------------------------直接中止方法運(yùn)行
直接中止方法運(yùn)行,拋出MSG
```
· 每一個(gè)測試方法上@test 為標(biāo)注為junit測試方法 ;
顯示綠條,意味測試通過