單元測試Junit
一.測試的分類:
1.黑盒測試:不需要寫代碼,給輸入值,看是否可以得到預期的結果。
2.白盒測試:需要寫代碼,需要關注程序具體的執行流程。
二.Junit使用
1.Junit屬於白盒測試
步驟:
1.定義一個測試類(測試用例)
建議:
-
測試類名:被測試類+test
-
包名:xxx.xxx.xxx.tset
2.定義測試方法:可以獨立運行
建議:
-
方法名:test+測試的方法名
-
返回值:void
-
參數列表:空參
3.給方法就愛注解(@test)
@Before就是在執行一個方法之前必須要執行一些資源,那么我們可以將這些資源放在一個方法中,並添加@before注解
4.導入Junit的依賴環境
判定結果:
-
紅色:失敗
-
綠色:成功
-
在Junit中一般我們會進行斷言操作(因為在Junit中一般會通過程序執行后的顏色來判斷,而不是直接輸出結果)
具體代碼演示:以一個計算器的加減法為例
首先我們以main方法進行測試,代碼如下:
package com.gcy.calculate;
/**
* 創建一個計算器類(只做加法和減法)
*/
public class Calculate {
/**
* 加法
* @param a
* @param b
* @return
*/
public int add(int a,int b){
return a+b;
}
/**
* 減法
* @param a
* @param b
* @return
*/
public int sub(int a,int b){
return a-b;
}
}
mian方法測試類:
package com.gcy.calculate;
/**
* 利用主方法的形式進行測試
*/
public class CalculateTest {
public static void main(String[] args) {
//創建對象
Calculate c=new Calculate();
int result=c.add(1,2);
System.out.println(result);
}
}
上面這種測試方法的缺點是當我們進行了加法的測試后,如果再對減法進行測試,就必須將加法的測試進行注解或進行刪除,非常的不變,因此推薦使用Junit進行測試
利用Junit進行測試
package com.gcy.test;
import com.gcy.calculate.Calculate;
import org.junit.Assert;
import org.junit.Test;
/**
* 使用Junit進行測試
*/
public class CalculateTest {
/**
* 對加法進行測試
*/
@Test
public void testAdd(){
//創建計算器對象
Calculate c=new Calculate();
//調用方法
int reslut= c.add(1,2);
//使用斷言
Assert.assertEquals(3,reslut);
}
@Test
public void testSub(){
//創建計算器對象
Calculate c=new Calculate();
//調用方法
int reslut= c.sub(6,5);
//使用斷言
Assert.assertEquals(1,reslut);
}
}
在進行Junit進行測試時,注意一般是看程序執行后下方的顏色,紅色代表失敗,綠色代表成功,應為如果直接輸出結果二不使用斷言的話,就可能會出現錯誤,例如,當我們進行加法測試時,
由於失誤,調用了減法,程序也不會出錯。有興趣的可以自己嘗試一下。