大體的步驟
建立project
添加junit包
建立一個待測試的類jdemo.java
為jdemo.java建立一個junit測試用例jdemotest.java
運作測試
1. 建立一個project :【new】-》【project】 (以下截圖是操作過程的主要步驟,并非所有)
2. 然後在project的名字上,右鍵,打開屬性視窗,通過【java build path】-》【library】-》【add library】添加junit的包。
添加的時候,我們選擇junit4 (目前最高版本的junit)
要說明的,其中添加junit包在建立project的時候也可以添加的,就是點選第一張圖檔的時候“next”進入添加頁面。
3. 建立一個java檔案jdemo.java,後面要利用junit對其進行測試
jdemo.java
它實作了一個加法的算法。
public class jdemo {
int a;
int b;
int result;
public int add(int a, int b){
result =
a+b;
return result;
}
}
4. 為此jdemo.java 類建立一個junit測試用例,在該類的名稱上【右鍵】-》【new】-【junit test case】
(主要,如果沒有在該類的名稱上點選,視窗下方的“class under test” 就會為空,如果為空,“next”鍵就不可用,也就沒有下圖的操作。當然,下圖的操作也不是必須的,隻是按下圖操作,eclipse會自動為我們在測試用例中建立一個測試方法而已,後面可以看到)
點選【next】
選擇我們想要測試的jdemo.java 中想要測試的方法add()
點選【finish】後,eclipse就會為我們建立一個用例測試jdemo.java 的測試用例jdemotest.java,并且還自動建立了一個測試方法testadd()
正如前面所說,如果沒有選擇要測試的方法的那一步,隻是這裡會少一個測試方法testadd()而已,這是可以自己手動加入的,并無實質的影響。
然後再修改jdemotest測試用例中的testadd就行了,按如下修改
jdemotest.java
import static org.junit.assert.*;
import org.junit.afterclass;
import org.junit.beforeclass;
import org.junit.test;
public class jdemotest {
@beforeclass
public static void setupbeforeclass() throws exception {
}
@afterclass
public static void teardownafterclass() throws exception {
@test
public void testadd() {
jdemo a= new jdemo();
assertequals(6,a.add(3, 3));
修改完成後,即得到以下顯示(注意左邊的結構架構:)
5 運作這個用例
通過點選菜單【運作】,或者右鍵中的run,執行,結果如下
上面用到了junit的斷言assertequals,且上面我們的預期和實際結果是一直的。
下面我們故意修改預期結果,測試錯誤的情況junit是如何處理的
當測試失敗後,還可以看到失敗的原因。
========================================
其實到上面也就完成了,但通過網絡學習,junit的測試還有一條經驗
一條 junit 的最佳實踐:單元測試代碼和被測試代碼使用一樣的包,不同的目錄。
即我們要追求如下的效果
為此,我們要修改建立junit測試用例的過程。
1.首先為project添加一個檔案夾,專門用來存放測試用例
2. 然後,在建立junit 測試用例時,注意選擇用例的存放目錄即可
next後,
最後就形成了我們想要的效果
其實,至于這樣分開到底有什麼好處,我現在還不清楚,估計後期導出導入友善吧。