這篇文章將向你介紹Junit一個用來在項目中進行測試和調試的工具在介紹完TDD(以測試驅動開發)理論後將進一步講解怎樣在流行的Eclipse中建立你自己的JUnit測試向你展示如何測試Hello World這樣簡單的程序
許多書上都討論了自動測試但是只有很少的著作注意到這麼一個問題那就是怎樣把這些測試組織起來隨著測試的增加放置和調用這些測試卻變得更加麻煩這將成為一個重要問題以至於出現了TDD極限編程(XP)使TDD得以普及另外你可以這樣理解TDD通過測試來開發
TDD的主要規范 :
在編寫程序代碼之前與之對應的自動測試必須被寫好甚至程序代碼並不存在那也要看見一個失敗的測試結果
在測試通過後副本代碼必須被丟棄
有一個具體步驟(可能指的是《Extreme Programming》)可以被任何一個程序員來參考而不需要特殊的其他方法在我們開始寫測試之前這些步驟(章節)應該被首先閱讀——怎樣組織自動測試
講解一下不同種類的測試
單元測試檢測模塊(也就是類)的正確性如果對象需要訪問外部的數據資源例如數據庫就需要模擬一個mock objects但在實際中真實數據與測試環境是不同的
客戶測試這是功能性系統和驗收測試用來測試整體的系統特性在XP中這些測試由用戶編寫
綜合測試介於用戶測試和單元測試之間的橋梁綜合測試幫助測試應用程序的交互性一般情況下mock objects不被用於綜合測試它會增加測試時間同樣綜合測試經常依賴特殊的測試環境例如數據庫送來的測試數據綜合測試也需要用到外部類庫例如為JEE應用程序進行綜合測試的類庫Cactus解釋這些測試超出了本文的范圍需要更加詳細的信息請參考http://jakartaapacheorg/cactus/
開發人員測試這是用來讓開發人員檢驗自己代碼或新函數的對於每一個開發人員只要有可能就需要有更多的測試來檢驗代碼組織這些測試和組織程序代碼一樣重要
在以下章節只要提到測試那就指的是開發人員測試
我們幾乎准備好開始建立測試了先應該為我們的測試選擇名字你也許會說這不是問題把Test這個字放在類名前面就好了!不會這麼快!讓我來說一下這個步驟存在的問題
在TDD中被測試的類或者方法還不存在
一個測試能夠覆蓋多個方法甚至多個類這是可能的
以上只是一些普遍問題還存在更多的問題
讓我來提一個建議在測試命名時測試類的名字應該讓人一眼就知道這是一個測試類且能說明它要測試什麼注意是否和其他類重名按照以上建議做就很簡單了也不用擔心名字太長或難聽
即將在Eclipse中用JUnit工具創建我們第一個測試了假設你已經下載了一個最新的Eclipse版本如果還沒有你應該去官方站點http://wwweclipseorg下載還需要JUnit也可以從http://wwwjunitorg/下載
運行Eclipse新建一個workplace項目點擊文件>新建>項目選擇Java項目點擊下一步起一個項目名稱例如ProjectWithJUnit點擊完成這樣就完成新項目的建立了再來配置一下Eclipse在構建路徑中添加JUnit類庫在工具條上點擊項目>屬性選擇Java構建路徑庫選擇添加外部JAR浏覽Junit被存儲的目錄選擇junitjar點擊打開你將會看見JUnit出現在庫的列表中點擊確定讓Eclipse重建路徑
現在開發我們的Hello World例子按照TDD的規則應該在代碼建立以前先把測試寫好為了能夠在某出開始我們假設未來的類名是HelloWorld並且有一個方法Say()這個方法返回String的值(例如Hello World!)
建立測試在ProjectWithJUnit的標題上面點擊右鍵選擇新建>其他展開Java選項選擇JUnit在右邊的欄目對話框中選擇測試案例然後下一步參考圖
圖 在Eclipse中建立JUnit測試
[] [] [] []
From:http://tw.wingwit.com/Article/program/Java/ky/201311/29136.html