日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

接口测试从零开始系列_mock技术使用

發(fā)布時間:2025/3/8 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 接口测试从零开始系列_mock技术使用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、什么情況下會使用mock技術(shù)

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

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

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

  ----------比如service層的代碼中,包含對Dao層的調(diào)用,但是,DAO層代碼尚未實現(xiàn)

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

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

  2、Mock技術(shù)分類

  (1)手動構(gòu)造mock對象

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

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

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

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

  3、EasyMock使用

  (1)引入easyMock

  ------------在maven工程中,通過pom配置依賴關(guān)系

<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)設(shè)定Mock對象的預(yù)期行為和輸出;
EasyMock.expect(pingJiaDao.getGoodPingJiaRate(storeId)).andReturn(0.11);

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

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

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

  4、其他easyMock功能

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


本文出自seven的測試人生公眾號最新內(nèi)容請見作者的GitHub頁:http://qaseven.github.io/

總結(jié)

以上是生活随笔為你收集整理的接口测试从零开始系列_mock技术使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。