在軟體測試過程中,對於一些不容易構造、獲取的物件,用乙個虛擬的物件來替代它,以達到相同的效果,這個虛擬的物件就是mock。
在前後端分離專案中,當後端工程師還沒有完成介面開發的時候,前端開發工程師利用mock技術,自己用mock技術先呼叫乙個虛擬的介面,模擬介面返回的資料,來完成前端頁面的開發。
其實,介面測試和前端開發有乙個共同點,就是都需要用到後端工程師提供的介面。所以,當我們做介面測試的時候,如果後端某些介面還不成熟、所依賴的介面不穩定或者所依賴的介面為第三方介面、構造依賴的介面資料太複雜等問題時,我們可以用mock的方式先虛擬這些介面返回來代替。提高工作效率。
實現mock的技術很多,這些技術中,可以分為兩類,mock資料和mock服務:
mock資料:即 mock 乙個物件,寫入一些預期的值,通過它進行自己想要的測試。常見的有:easymock、mockito 、wiremock、jmockit。主要適用於單元測試。
mock 服務:即mock 乙個 sever,構造乙個依賴的服務並給予他預期的服務返回值,適用範圍廣,更加適合整合測試。如 moco框架。
我們需要先編輯乙個json檔案,用來模擬不同的請求,返回不同的響應。
新建乙個檔案,格式改為json,然後開啟這個檔案進行編輯,內容如下:
[, "response": }]
其中description是注釋(描述),由於json無法寫注釋,所以提供了用這個key
uri就是我們這個介面的統一資源識別符號,可以根據模擬的介面自行定義
response裡的內容即為返回的值
這是乙個非常簡單的mock
demo1:約定uri
[, "response": }]
demo2:約定請求引數
[ }, "response": }]
demo3:約定請求方法
[, "response": }]
demo5:約定請求體引數-form
[ }, "response": }]
request
*method
*uri
*headers
*cookies
*queries
*forms、json、text
response
*status
*headers
*cookies
*text、json
*redirectto
模擬物件測試技術Mock(一)
因為目前專案時間比較緊 乙個月的開發周期 並且,工作流的測試步驟也比較多,所以,我決定採用一種模擬物件測試技術 mock。mock可以為介面生成模擬物件,從而在我們寫實現 之前就檢查其邏輯和互動行為是否正確。我們選用的mock框架是moq 3,基於lambda語法的一款非常簡單的mock框架。1ie...
MOCK 測試編寫
比較菜,cartographer編譯一定要加上mock,所以自己加的一些介面也要寫mock測試函式。1 比如我在pose graph inte ce加了介面如下 virtual bool istrajectoryexist int trajectory id const 0 則我要在mock pos...
python介面測試 mock
1 什麼叫mock?答 模擬資料 假資料,不是介面真正返回的資料。2 為什麼要引入mock測試?有兩種場景需要引入 1 介面還未開發完成,但是測試人員需要介入介面測試 2 介面呼叫不方便,需要呼叫第三方介面 3 方式 1 客戶端mock 1 安裝第三方庫,pip install mock 2 建構函...