• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    軟件單元測試利器 JUnit 4

    發布: 2009-12-17 10:06 | 作者: 不詳 | 來源: 領測國際軟件測試網采編 | 查看: 48次 | 進入軟件測試論壇討論

    領測軟件測試網

           可以開始編寫單元測試了嗎?等等……,您打算把單元測試代碼放在什么地方呢?把它和被測試代碼混在一起,這顯然會照成混亂,因為單元測試代碼是不會出現在最終產品中的。建議您分別為單元測試代碼與被測試代碼創建單獨的目錄,并保證測試代碼和被測試代碼使用相同的包名。這樣既保證了代碼的分離,同時還保證了查找的方便。遵照這條原則,我們在項目 coolJUnit 根目錄下添加一個新目錄 testsrc,并把它加入到項目源代碼目錄中(加入方式見 圖2)。

      圖2 修改項目源代碼目錄

      圖2 修改項目源代碼目錄

      現在我們得到了一條 JUnit 的最佳實踐:單元測試代碼和被測試代碼使用一樣的包,不同的目錄。

      一切準備就緒,一起開始體驗如何使用 JUnit 進行單元測試吧。下面的例子來自筆者的開發實踐:工具類 WordDealUtil 中的靜態方法 wordFormat4DB 是專用于處理 Java 對象名稱向數據庫表名轉換的方法(您可以在代碼注釋中可以得到更多詳細的內容)。下面是第一次編碼完成后大致情形:

      package com.ai92.cooljunit; import java.util.regex.Matcher; import java.util.regex.Pattern; /** * 對名稱、地址等字符串格式的內容進行格式檢查 * 或者格式化的工具類 * * @author Ai92 */ public class WordDealUtil { /** * 將Java對象名稱(每個單詞的頭字母大寫)按照 * 數據庫命名的習慣進行格式化 * 格式化后的數據為小寫字母,并且使用下劃線分割命名單詞 * * 例如:employeeInfo 經過格式化之后變為 employee_info * * @param name Java對象名稱 */ public static String wordFormat4DB(String name){ Pattern p = Pattern.compile("[A-Z]"); Matcher m = p.matcher(name); StringBuffer sb = new StringBuffer(); while(m.find()){ m.appendReplacement(sb, "_"+m.group()); } return m.appendTail(sb).toString().toLowerCase(); } }

      它是否能按照預期的效果執行呢?嘗試為它編寫 JUnit 單元測試代碼如下:

      package com.ai92.cooljunit; import static org.junit.Assert.assertEquals; import org.junit.Test; public class TestWordDealUtil { //測試wordFormat4DB正常運行的情況 @Test public void wordFormat4DBNormal(){ String target = "employeeInfo"; String result = WordDealUtil.wordFormat4DB(target); assertEquals("employee_info", result); } }

      很普通的一個類嘛!測試類 TestWordDealUtil 之所以使用“Test”開頭,完全是為了更好的區分測試類與被測試類。測試方法 wordFormat4DBNormal 調用執行被測試方法 WordDealUtil.wordFormat4DB,以判斷運行結果是否達到設計預期的效果。需要注意的是,測試方法 wordFormat4DBNormal 需要按照一定的規范書寫:

      1.

      測試方法必須使用注解 org.junit.Test 修飾。

      2.

      測試方法必須使用 public void 修飾,而且不能帶有任何參數。

      測試方法中要處理的字符串為“employeeInfo”,按照設計目的,處理后的結果應該為“employee_info”。assertEquals 是由 JUnit 提供的一系列判斷測試結果是否正確的靜態斷言方法(位于類 org.junit.Assert 中)之一,我們使用它將執行結果 result 和預期值“employee_info”進行比較,來判斷測試是否成功。

      看看運行結果如何。在測試類上點擊右鍵,在彈出菜單中選擇 Run As JUnit Test。運行結果如下圖所示:

      

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>