Java Opensources for Web Development Part I: Chapter 4 在 Java 中進行各種單元測試
Lession 15 : JUnit
* Category: Test
* Project Name: JUnit
* WebSite: https://www.junit.org/
* License: Common Public License
* Last version: 4.3 ( 2007/3 )
在 Java 進行測試應該就是採用 JUnit 最多,已經儼然成為一個標準,他的本身核心並不複雜,讓測試可以更為簡單,也可以配合 ant (Lesson 2) 進行自動化測試,讓整套系統可以透過撰寫的 script 進行完整測試。
◎ 自行測試的方法
往往在 Web 開發,我通常會對 Facade 或 Delegate 進行測試,假設 BizFacade 之中有一個 int addNum(int a, int b); 這個 method。 主要回傳 a+b 的數值。
BizFacade.java以往我們進行測試,就是撰寫一個具有 main 進入點的小程式
public class BizFacade {
public int addNum(int a, int b) {
return a+b;
}
}
BizFacadeTest.java如果執行 BizFacadeTest 印出 TEST OK,就是代表 BizFacade 的程式撰寫正確,當然,測試往往不會只有一個程式,所以每次都要利用小 main Application 來進行測試,對於忙碌的工程師來說,是個沉重的負擔。
public class BizFacadeTest {
public static void main(String[] args) {
BizFacade bf = new BizFacade();
if( bf.addNum(2,3) == 5 ) System.out.println(“TEST OK”);
else System.out.println(“TEST FAIL”);
}
}
◎ 使用 JUnit 成為測試框架
我們要將 junit.jar 放到 classpath 之中,我們就可以重新撰寫 Test 程式改為
BizFacadeTest.java當我們執行 TestRunner 就是去判斷 BizFacade 中的 addNum 是否等於 (Equals) 5。如果回傳是 5,則會回報測試成功。注意,該 test method 一定要是以 test 為開頭。
import junit.framework.TestCase;
public class BizFacadeTest extends TestCase {
public testAddNum() {
assertEquals(5, new BizFacade().addNum(2,3));
}
}
當你使用 JDK 1.5 以上的版本,配合 JUnit 4 以上的版本,就可以使用 @Annotations 的方式來進行測試。
BizFacadeTest.java其他操作的技巧可以使用它的 samples 進行測試。
import org.junit.*;
import static org.junit.Assert.assertEquals;
public class BizFacadeTest {
@Test
public addNum() {
assertEquals(5, new BizFacade().addNum(2,3));
}
}