前言
Junit是在極限編程和重構(refactor)中被極力推薦使用的工具,因爲在實現自動單元測試的情況下可以大大的提高開發的效率。
測試有以下兩個分類:
- 黑盒測試:不需要寫代碼,給輸入值,看程序是否能夠輸出期望值。
- 白盒測試:需要寫代碼,關注程序具體的執行流程。
1.Junit的使用
1.1 使用步驟
- 定義一個測試類(測試用例)
- 類名後綴加Test,如:CalculatorTest
- 包名用test,如:com.base.junit.test
- 定義測試方法:可以獨立運行
- 方法名:test測試的方法名————testAdd()
- 返回值:void
- 參數列表:空參
- 給方法加@Test註解
- 導入Junit依賴環境
- 在IDEA環境下可將光標指向@Test後使用 alt + enter 快捷鍵添加Junit到類路徑下(classpath)。
1.2判定結果
1.若控制檯無報錯信息,則測試通過。
2.用斷言(Assert)操作處理結果
Assert.assertEquals(expected value,real value);
//***************Calculator.java***************
public int add(int a,int b){
return a + b;
}
//***************CalculatorTest.java**********
@Test
public void addTest(){
Calculator c = new Calculator();
int re = c.add(1,2);
Assert.assertEquals(3,re);
}
2.補充註解@Before 和 @After
- @Before(用於資源的申請):
- 修飾的方法會在 測試方法 執行之前被自動調用
- @After(用於資源的釋放):
- 修飾的方法會在 測試方法 執行之後被自動調用
//******************Calculator.java*******************
package com.bese.junit;
public class Calculator {
public int add(int a,int b){
return a + b;
}
}
//******************CalculatorTest.java***********************
package com.bese.test;
import com.bese.junit.Calculator;
import org.junit.After;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class CalculatorTest {
@Before
public void init(){
System.out.println("before修飾的方法執行了...");
}
@After
public void destroy(){
System.out.println("after修飾的方法執行了...");
}
/**
* 測試add方法
*/
@Test
public void addTest(){
// System.out.println("我被執行了");
//創建對象,調用方法
Calculator c = new Calculator();
int re = c.add(3,2);
//斷言判斷Assert
Assert.assertEquals(2,re);
System.out.println("測試方法執行了...");
}
}
運行結果:
時間:2019年10月13日20:42:41