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 閱讀(197) 評論(0)  編輯  收藏


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


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

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 临湘市| 永吉县| 宜阳县| 双牌县| 枣强县| 集贤县| 加查县| 靖远县| 田林县| 策勒县| 灵寿县| 金山区| 青神县| 岐山县| 彭水| 浑源县| 馆陶县| 泰顺县| 木兰县| 东山县| 苍溪县| 施甸县| 利辛县| 襄城县| 观塘区| 搜索| 西乡县| 理塘县| 夏邑县| 扎赉特旗| 徐水县| 玉林市| 阳泉市| 松溪县| 龙口市| 营山县| 赤水市| 达孜县| 五寨县| 仙游县| 南部县|