很明顯,代碼瘦身了。在靜態方法 words 中,我們使用二維數組來構建測試所需要的參數列表,其中每個數組中的元素的放置順序并沒有什么要求,只要和構造函數中的順序保持一致就可以了,F在如果再增加一種測試情況,只需要在靜態方法 words 中添加相應的數組即可,不再需要復制粘貼出一個新的方法出來了。
JUnit 和 Ant
隨著項目的進展,項目的規模在不斷的膨脹,為了保證項目的質量,有計劃的執行全面的單元測試是非常有必要的。但單靠JUnit提供的測試套件很難勝任這項工作,因為項目中單元測試類的個數在不停的增加,測試套件卻無法動態的識別新加入的單元測試類,需要手動修改測試套件,這是一個很容易遺忘得步驟,稍有疏忽就會影響全面單元測試的覆蓋率。
當然解決的方法有多種多樣,其中將 JUnit 與構建利器 Ant 結合使用可以很簡單的解決這個問題。Ant —— 備受贊譽的 Java 構建工具。它憑借出色的易用性、平臺無關性以及對項目自動測試和自動部署的支持,成為眾多項目構建過程中不可或缺的獨立工具,并已經成為事實上的標準。Ant 內置了對 JUnit 的支持,它提供了兩個 Task:junit 和 junitreport,分別用于執行 JUnit 單元測試和生成測試結果報告。使用這兩個 Task 編寫構建腳本,可以很簡單的完成每次全面單元測試的任務。
不過,在使用 Ant 運行 JUnit 之前,您需要稍作一些配置。打開 Eclipse 首選項界面,選擇 Ant -> Runtime 首選項(見圖7),將 JUnit 4.1 的 JAR 文件添加到 Classpath Tab 頁中的 Global Entries 設置項里。記得檢查一下 Ant Home Entries 設置項中的 Ant 版本是否在 1.7.0 之上,如果不是請替換為最新版本的 Ant JAR 文件。
圖7 Ant Runtime 首選項
圖7 Ant Runtime 首選項
剩下的工作就是要編寫 Ant 構建腳本 build.xml。雖然這個過程稍嫌繁瑣,但這是一件一勞永逸的事情,F在我們就把前面編寫的測試用例都放置到 Ant 構建腳本中執行,為項目 coolJUnit 的構建腳本添加一下內容:
Target junit report 是 Ant 構建腳本中的核心內容,其它 target 都是為它的執行提供前期服務。Task junit 會尋找輸出目錄下所有命名以“Test”開頭的 class 文件,并執行它們。緊接著 Task junitreport 會將執行結果生成 HTML 格式的測試報告(圖8)放置在“report folder”下。
為整個項目的單元測試類確定一種命名風格。不僅是出于區分類別的考慮,這為 Ant 批量執行單元測試也非常有幫助,比如前面例子中的測試類都已“Test”打頭,而測試套件則以“Suite”結尾等等。
圖8 junitreport 生成的測試報告
文章來源于領測軟件測試網 http://www.kjueaiud.com/