JUnit 4是JUnit框架有史以來的最大改進,其主要目標便是利用Java 5的Annotation特性簡化測試用例的編寫。讓我們看看如何使用JUnit 4來進行Unit測試。
請注意:本文主要介紹JUnit 4的最新特性和用法,并不會講解Unit測試的基礎。如果你對JUnit框架還不熟悉,請先參考“Eclipse快速上手指南 (2) 使用JUnit測試”一文,學習如何編寫JUnit測試。
我們使用的開發環境是Eclipse 3.2,它已經自帶了JUnit 4.1,你需要將JUnit 4 Library添加到項目用到的Library中。另外,必須使用JDK 5.0或更高版本。
要在Eclipse環境之外運行JUnit,需要下載JUnit 4.1,具體請訪問JUnit.org。
我們先看一個簡單的Math類:
package com.javaeedev.junit4;
public class Math {
public int abs(int value) {
return value>=0 ? value : (-value);
}
public int div(int a, int b) {
return a / b;
}
/**
* BUG: if b less than 0!
*/
public float exp(int a, int b) {
float r = 1;
for(int i=0; i<b; i++)
r = r * a;
return r;
}
}
注意exp()方法是有Bug的,如果傳入參數2, -1,則期待的返回值應為0.5F,但實際返回值為1.0F。
下面我們看看傳統的JUnit的TestCase:
public class MathTest extends TestCase {
public void setUp() { super.setUp(); }
public void tearDown() { super.tearDown(); }
public void testAbs() { assertTrue(true); }
public void testDiv() {...}
public void testExp() {...}
}
JUnit依賴反射來執行每個以test開頭的方法。然而,在最新的JUnit 4中,由于有了Annotation的支持,我們的測試方法不需要再以testXxx標識了,而是寫上一個@Test標注即可。例如:
文章來源于領測軟件測試網 http://www.kjueaiud.com/