Java 自動化測試個案必備工具 Junit
這篇文章主要說明程式自動化測試為什麼要使用 Junit,以及如何安裝設定 Junit,
最後舉一個Junit 程式範例驗證 Hollow World。
為什麼要使用 Junit
自動化測試通常會需要下列功能:
- 測試資料的輸入
- 測試個案管理
- 測試的驗證
- 測試結果的報表
- 測試步驟的 logs
因此,使用Junit 就可以很方便的提供這些功能。
那為什麼不使用 TestNG呢? TestNG的確是 Junit 的改良版。
筆者觀察,大部份目前實務的應用與相關的程式範例還是以 Junit 為主軸。
圖檔來源 SoftwareTestingClass
安裝設定 Junit
首先必須到這個位子下載 junit JAR
https://github.com/downloads/junit-team/junit/junit-4.10.jar
下載完之後,就可以將該 Jar 載入。這裡用使用 Eclipse 為範例說明。
Project > Java Build Path > Libraries > Add External Jars > 選取 Junit-4.10.jar
測試情境
這個測試個案中有三個變數,a, b, c
有兩個測試個案,主要用來測試 a 是否等於 b 。另外一個測試個案是 a 是否等於 c
- Testing case 1: a = b ?
- Testing case 2: a=c ?
Junit 使用
透過這個例子說明,Junit程式的架構。
- Junit不需要任何的main
- Junit 執行時,@Test下的 method就會被執行
- 每一個@Test都是獨立的策是個案
- method 名稱必須要 test開頭
- assert..這是Junit 提供的驗證函數,可以用來檢查兩個值是否相等
[pastacode lang=”java” message=”Junit Sample” highlight=”” provider=”manual”]
@Test
public void test_ab() {
assertEquals(a,b);
}
[/pastacode]
完整範例程式
[pastacode lang=”java” message=”Junit Testing Sample” highlight=”” provider=”manual”]
import static org.junit.Assert.assertEquals;
import org.testng.annotations.Test;
public class HelloJunit {
String a = "Hello World";
String b = "Hello World";
String c = "hello world";
@Test
public void test_ab() {
assertEquals(a,b);
}
@Test
public void test_ac() {
assertEquals(a,c);
}
}
[/pastacode]