<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    少年阿賓

    那些青春的歲月

      BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
      500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

    1、什么情況下會使用mock技術

      (1)需要將當前被測單元和其依賴模塊獨立開來,構造一個獨立的測試環境,不關注被測單元的依賴對象,只關注被測單元的功能邏輯

      ----------比如被測代碼中需要依賴第三方接口返回值進行邏輯處理,可能因為網絡或者其他環境因素,調用第三方經常會中斷或者失敗,無法對被測單元進行測試,這個時候就可以使用mock技術來將被測單元和依賴模塊獨立開來,使得測試可以進行下去。

      (2)被測單元依賴的模塊尚未開發完成,而被測單元需要依賴模塊的返回值進行后續處理

      ----------比如service層的代碼中,包含對Dao層的調用,但是,DAO層代碼尚未實現

     ?。?)被測單元依賴的對象較難模擬或者構造比較復雜

      ----------比如,支付寶支付的異常條件有很多,但是模擬這種異常條件很復雜或者無法模擬,比如,查詢聚劃算的訂單結果,無法在測試環境進行模擬

      2、Mock技術分類

      (1)手動構造mock對象

      ---------------比如,可以自己寫某個接口方法的實現,根據需要編寫返回值,測試代碼中使用該實現類對象

      缺點:會增加代碼量,在寫mock對象代碼時,有可能引入錯誤

      (2)使用開源代碼提供的構造mock方法

      --------------比如easyMock,提供了對接口類的模擬,能夠通過錄制、回放、檢查三步來完成大體的測試過程,可以驗證方法的調用種類、次數、順序,可以令Mock對象返回指定的值或拋出指定異常

      3、EasyMock使用

     ?。?)引入easyMock

      ------------在maven工程中,通過pom配置依賴關系

    <dependency>
        <groupId>org.easymock</groupId>
        <artifactId>easymock</artifactId>
        <version>3.0</version>
        <scope>test</scope>
    </dependency>

      ------------在普通java工程中,通過添加外部包的方式

     ?。?)使用easyMock過程

      1)使用EasyMock生成Mock對象;
      pingJiaDao = mockControl.createMock(IPingJiaDao.class);

      2)設定Mock對象的預期行為和輸出;
      EasyMock.expect(pingJiaDao.getGoodPingJiaRate(storeId)).andReturn(0.11);

      3)將Mock對象切換到Replay狀態;
      EasyMock.replay(pingJiaDao);

      4)調用Mock對象方法進行單元測試;
      storeService.setStoredao(pingJiaDao);
      double rate = storeService.getStoreGoodRate(storeId);

      5)對Mock對象的行為進行驗證。
      EasyMock.verify(pingJiaDao);

      4、其他easyMock功能

     ?。?)特殊的mock對象:niceMock
     ?。?)參數匹配器
     ?。?)重置mock對象
     ?。?)模擬異常拋出
     ?。?)設置調用次數

    posted on 2013-04-20 15:19 abin 閱讀(411) 評論(0)  編輯  收藏 所屬分類: easyMock
    主站蜘蛛池模板: 久久91亚洲人成电影网站| 亚洲熟女少妇一区二区| 亚洲av片一区二区三区| 国产亚洲美女精品久久久| 久久久久久久综合日本亚洲 | 免费一级毛片不卡在线播放| 亚洲国产黄在线观看| 亚洲成AV人片在线观看无| 亚洲国产成人无码av在线播放| 亚洲午夜精品一区二区麻豆 | 亚洲一卡2卡3卡4卡乱码 在线| 国产成人精品久久亚洲高清不卡| 一级中文字幕乱码免费| 久久久精品2019免费观看| 成人免费视频软件网站| 亚洲一级特黄大片在线观看| 99久久亚洲精品无码毛片 | 亚洲精品电影天堂网| 国产偷国产偷亚洲清高APP| WWW免费视频在线观看播放| 18禁无遮挡无码国产免费网站 | 精品国产免费人成电影在线观看| 免费观看理论片毛片| 亚洲国产精品VA在线看黑人| 国产成人亚洲综合网站不卡| h视频在线观看免费| 国产成人免费午夜在线观看| 亚洲国产精品尤物YW在线观看| 久久精品a亚洲国产v高清不卡| 亚洲av乱码一区二区三区按摩| 日韩免费电影网站| 小小影视日本动漫观看免费| 亚洲AV成人无码久久精品老人| 亚洲精品无码国产片| 免费国产叼嘿视频大全网站| 日韩免费高清视频网站| 91天堂素人精品系列全集亚洲| 偷自拍亚洲视频在线观看99| 精品福利一区二区三区免费视频| 狠狠色婷婷狠狠狠亚洲综合| 在线观看亚洲AV每日更新无码|