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

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

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

    qileilove

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

    接口測試從零開始系列_mock技術使用

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

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

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

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

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

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

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

      2、Mock技術分類

      (1)手動構造mock對象

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

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

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

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

      3、EasyMock使用

      (1)引入easyMock

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

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

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

      (2)使用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功能

      (1)特殊的mock對象:niceMock
      (2)參數匹配器
      (3)重置mock對象
      (4)模擬異常拋出
      (5)設置調用次數

    posted on 2011-12-09 16:32 順其自然EVO 閱讀(1156) 評論(0)  編輯  收藏


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


    網站導航:
     
    <2011年12月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    導航

    統計

    常用鏈接

    留言簿(55)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日韩精品视频免费在线观看| 亚洲伦理中文字幕| 亚洲国产精品美女久久久久| 亚洲人成图片小说网站| 美女巨胸喷奶水视频www免费| 最新亚洲春色Av无码专区| 久久精品视频亚洲| 亚洲日韩国产精品乱| 午夜网站免费版在线观看| 午夜精品免费在线观看| 成人无码区免费A∨直播| 自拍偷自拍亚洲精品偷一| 亚洲伊人久久大香线蕉影院| 亚洲精品成人网站在线观看| 日本XXX黄区免费看| 久久久久久国产精品免费免费男同| 男女猛烈无遮掩视频免费软件| 亚洲国产成人精品不卡青青草原| 国产综合亚洲专区在线| 足恋玩丝袜脚视频免费网站| 四虎影视在线影院在线观看免费视频| 一个人看的在线免费视频| 十八禁的黄污污免费网站| 国产亚洲综合久久| 97se亚洲综合在线| 亚洲高清国产AV拍精品青青草原| 亚洲中文字幕丝袜制服一区| 亚洲精品WWW久久久久久| www.亚洲精品.com| 91精品手机国产免费| 疯狂做受xxxx高潮视频免费| 亚洲欧美成人综合久久久 | 一级毛片免费在线| 日韩亚洲人成网站| 色偷偷亚洲男人天堂| 黄色毛片视频免费| 色老头综合免费视频| 一边摸一边爽一边叫床免费视频| 免费人成大片在线观看播放电影 | 又粗又硬免费毛片| 国产一区二区三区无码免费|