使用JUnit進行測試
JUnit是與Eclipse一起提供的一個開源測試框架。在同一個Project中,可以創建與其它class無異的“基於JUnit”的class,並使用此JUnit代碼去測試project中的其它class。JUnit的此種使用方式能夠為每位在此應用程序上工作的人員構建一組標准的測試。如果當更改了應用程序代碼以後,他們所需做的工作僅僅是點擊幾下按鈕來驗證此應用程序是否依然能夠通過標准測試。
JUnit被用來測試代碼,並且它是由能夠測試不同條件的斷言方法(assertion method)組成,如下所示:
assertEquals(a, b)
測試a是否等於b(a和b是原始類型數值(primitive value)或者必須為實現比較而具有equal方法)
assertFalse(a)
測試a是否為false(假),a是一個Boolean數值。
assertNotNull(a)
測試a是否非空,a是一個對象或者null。
assertNotSame(a, b)
測試a和b是否沒有都引用同一個對象。
assertNull(a)
測試a是否為null,a是一個對象或者null。
assertSame(a, b)
測試a和b是否都引用同一個對象。
assertTrue(a)
測試a是否為true(真),a是一個Boolean數值。
我們使用這些方法來構建JUnit測試。當運行一個JUnit應用程序時,它打開自己的視圖(vIEw)來立即指示哪個測試通過了,哪個測試失敗了。
創建測試應用程序
我們將在一個例子中使用JUnit來展示它如何在我們創建的應用程序JN_test中運行。此應用程序的意圖是簡單地為一個整型數組賦值,並通過get和set方法來對它們進行存取。
特別地,我們將包含三個方法,它們用來返回可能被用在JUnit中測試的值。
allocate
分配一個整型數組並且對其賦值;返回新分配的數組。
set
為整型數組賦值;如果成功返回true,否則返回false。
get
從整型數組中取值;返回需要的數值。
JN_test的最初版本:
package net.csdn.blog;
public class JN_test {
private int[] array;
public int[] allocate()
{
array[0] = 0;
array[1] = 1;
array[2] = 2;
return array;
}
public int get(int index){
return array[index];
}
public boolean set(int index,int value){
if(index=0)
{
array[index] = value;
return true;
}
else
return false;
}
}
allocate方法分配一個整型數組,對其進行賦值,並返回此數組:
private int[] array;
public int[] allocate( ) {
array[0]=0;
array[1]=1;
array[2]=2;
return array;
}
get方法在數組的給定位置取整數值:
public int get(int index) {
return array[index];
}
set方法為給定的位置賦整數值,按條件返回true或者false。
public boolean set(int index, int value) {
if (index < array.length && index >= 0) {
array[index]=value;
return true;
} else {
return false;
}
}
接下來就是使用JUnit測試所有這些方法:allocate , set和get。
安裝JUnit
為了使用JUnit(更多細節請參考http://www.junit.org ),必須在project的classpath中添加junit.jar。因此,建立一個新的classpath變量JUNIT。選擇Window->Preferences菜單欄打開Preferences對話框,展開Java結點,選擇Build Path->Classpath Variables項。
然後點擊New按鈕打開New Variable Entry菜單,輸入新的變量名:JUNIT,設置路徑為junit.jar.在Eclipse3.0.2中,能夠在eclipse/plugins/org.junit_3.8.1/junit.jar下找到junit.jar。
然後點擊OK。
為了debug的需要,也要添加JUnit包的源代碼(這是一個可選步驟;在此例子中我們不使用JUnit源代碼)。你將在\eclipse\plugins\org.eclipse.jdt.source_3.0.2 rc目錄中發現許多包的源代碼的JAR文件。為JUnit源代碼創建一個新的變量,按照上面創建JUNTIT的步驟,不過此變量名為JUNIT_SRC(通常在源代碼變量前面添加前綴_SRC)並且將它連接到\eclipse\plugins\org.eclipse.jdt.source_3.0.2 rc\org.junit_3.8.1/junitsrc.zip。
創建此變量以後,在project JN_test上單擊鼠標右鍵,選擇PropertIEs,打開JN_test的屬性對話框,點擊Java Build Path項和LibrarIEs選項。並Add Variable,添加JUNIT變量,所得如圖所示:
當展開一個JAR文件結點的時候,能夠指定在何處尋找相關聯的源代碼和Javadoc。為了對這裡的源代碼使用JUNIT_SRC,選擇結點中的Source Attachement,單擊edit打開Source Attachment Configuration對話框。點擊Variable按鈕,雙擊JUNIT_SRC,並點擊OK關閉此對話框。如圖所示:
這裡我們已經使JUnit的源代碼能在Eclipse上使用。點擊OK關閉JN_test的屬性對話框。
未完,待續…………在Eclipse中使用JUnit進行單元測試(下)