Mock測試技術

2022-03-10 19:39:13 字數 1303 閱讀 3016

在軟體測試過程中,對於一些不容易構造、獲取的物件,用乙個虛擬的物件來替代它,以達到相同的效果,這個虛擬的物件就是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 建構函...