1. 程式人生 > >Http Mock看這一篇文章就可以了

Http Mock看這一篇文章就可以了

一、什麼是wire mock

什麼是mock技術

對於某些不容易構造或者不容易獲取的物件,用一個虛擬的物件來建立以便測試的測試方法,這個物件可以是一個方法,可以是一個介面,我們這裡介紹的mock都是介面

Wire-mock是什麼?

Wire mock的官網:http://wiremock.org

Mock http apis

二、為什麼要使用mock

使用真實環境問題點

1、難於建立(比如複雜的測試環境)

2、不易獲取(複雜的獲取流程)

3、不穩定(機率性的獲取失敗)

4、前後端分離(前後依賴是並行任務)

三、什麼時間什麼地方要使用mock

1、難於建立(比如複雜的測試環境)

2、不易獲取(複雜的獲取流程)

3、不穩定(機率性的獲取失敗)

4、前後端分離(前後依賴是並行任務)

四、怎麼使用mock

在程式碼中直接引用

Maven工程新增依賴

<dependency>

<groupId>com.github.tomakehurst</groupId>

<artifactId>wiremock</artifactId>

<version>2.12.0</version>

</dependency>

或者

<dependency>

<groupId>com.github.tomakehurst</groupId>

<artifactId>wiremock-standalone</artifactId>

<version>2.12.0</version>

</dependency>

指定啟動埠

配置server的response:url,accept,返回碼,content-type,body等

打樁

Wire mock的打樁分為Java程式碼和json api兩種方式

1、Java程式碼的方式,已經實現過了不再累述

2、json api的方式

在工程/test/resources/mappings目錄下建立*.json檔案

直接http請求json中的url路徑即可:

Verify功能用來驗證請求的格式是否正確

作為服務獨立執行

執行

java -jar wiremock-standalone-2.12.0.jar –port 9090 –verbose

詳細命令請檢視

http://wiremock.org/docs/running-standalone/

配置

在生成的__files和mappings的資料夾下,mappings資料夾下*.json用作request匹配

Response響應分直接body返回和指定file返回

1、直接body返回

2、指定json檔案返回(非json格式檔案也可以)