測試對於保證軟件開發質量有著非常重要的作用單元測試更是必不可少JUnit是一個非常強大的單元測試包可以對一個/多個類的單個/多個方法測試還可以將不同的TestCase組合成TestSuit使測試任務自動化Eclipse同樣集成了JUnit可以非常方便地編寫TestCase
我們創建一個Java工程添加一個exampleHello類首先我們給Hello類添加一個abs()方法作用是返回絕對值
下一步我們准備對這個方法進行測試確保功能正常選中Hellojava右鍵點擊選擇New>JUnit Test Case
Eclipse會詢問是否添加junitjar包確定後新建一個HelloTest類用來測試Hello類
選中setUp()和tearDown()然後點擊Next
選擇要測試的方法我們選中abs(int)方法完成後在HelloTestjava中輸入
JUnit會以以下順序執行測試(大致的代碼) try {
HelloTest test = new HelloTest(); // 建立測試類實例
testsetUp(); // 初始化測試環境
testtestAbs(); // 測試某個方法
testtearDown(); // 清理資源
}
catch…
setUp()是建立測試環境這裡創建一個Hello類的實例tearDown()用於清理資源如釋放打開的文件等等以test開頭的方法被認為是測試方法JUnit會依次執行testXxx()方法在testAbs()方法中我們對abs()的測試分別選擇正數負數和如果方法返回值與期待結果相同則assertEquals不會產生異常
如果有多個testXxx方法JUnit會創建多個XxxTest實例每次運行一個testXxx方法setUp()和tearDown()會在testXxx前後被調用因此不要在一個testA()中依賴testB()
直接運行Run>Run As>JUnit Test就可以看到JUnit測試結果
綠色表示測試通過只要有個測試未通過就會顯示紅色並列出未通過測試的方法可以試圖改變abs()的代碼故意返回錯誤的結果(比如return n+;)然後再運行JUnit就會報告錯誤
如果沒有JUnit面板選擇Window>Show View>Other打開JUnit的View
JUnit通過單元測試能在開發階段就找出許多Bug並且多個Test Case可以組合成Test Suite讓整個測試自動完成尤其適合於XP方法每增加一個小的新功能或者對代碼進行了小的修改就立刻運行一遍Test Suite確保新增和修改的代碼不會破壞原有的功能大大增強軟件的可維護性避免代碼逐漸腐爛
From:http://tw.wingwit.com/Article/program/Java/ky/201311/29241.html