qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          單元測試—mock技術基礎

          單元測試是在開發階段由開發人員進行設計編寫的測試,在不同的組織中單元測試與被測試代碼實現先后順序不同,有的組織采用先實現被測試代碼,在編寫測試代碼,執行測試,有些組織采用先編寫測試代碼,執行測試,實現發生錯誤的被測試代碼,再執行測試。 根據的區別就是組織內部是否在實踐TDD開發方法。
            在編寫單元測試時,有幾個方面需要考慮:
            1、在測試一個方法時,如何構造被測試方法參數,如果參數類型比較簡單那么比較容易構造,如果參數類型是復雜類型結構,并且存在多層結構,那么就需要多考慮考慮。
            2、在被測試方法中,有外部服務的調用或者外部模塊調用,調用結果影響測試結果,那么如何考慮進行隔離。 因為外部服務或者外部模塊被調用方法的不同,針對每種調用方法都要相應的隔離技術,例如:
            外部模塊調用類在全局變量中被定義圍靜態變量
            外部模塊被調用類是通過參數對象傳遞給方法的
            外部對象是一個全局靜態對象,在被測試方法內直接調用
            外部對象是在被測試方法中,new 出來的新實例,并在方法體內調用
            外部模塊是被隱式調用的,如被測試方法訪問一個網絡服務端口獲取信息等等
            3、結果驗證,單元測試要驗證那些信息,按照方法結果體現形式的不同,有如下對象要驗證:
            直接返回值驗證
            間接對象驗證 (如void 方法,它實現了對一個全局對象或內部私有對象實例的屬性修改,那么要抓出對象實例并獲得屬性值驗證結果)
            日志文件輸出
            控制臺信息輸出
            網絡數據
            如上要考慮的這些要考慮的方面,基本上都可以通過mock 進行處理。mock 提供的是一種隔離技術,它提供如下幾種隔離辦法:
            1、 完全隔離,mock整個被調用類方法
            2、 部分隔離,mock部分被調用類方法
            3、 服務樁隔離, 模擬被調用的服務。接受處理請求。
            在基于java開發語言的項目上,可以使用PowerMock 作為Mock框架。

          posted on 2013-12-17 09:03 順其自然EVO 閱讀(198) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2013年12月>
          24252627282930
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 天祝| 新乡市| 商城县| 铁力市| 太湖县| 乌鲁木齐市| 威宁| 惠安县| 龙陵县| 岳西县| 景德镇市| 株洲市| 南宁市| 丹巴县| 吉首市| 太原市| 阿城市| 高碑店市| 石家庄市| 汾西县| 科技| 米脂县| 弥勒县| 莲花县| 板桥市| 增城市| 土默特左旗| 延庆县| 太康县| 葵青区| 天长市| 南岸区| 长治市| 湘潭市| 托里县| 丰都县| 雅江县| 琼结县| 仁布县| 三原县| 大埔区|