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格式檔案也可以)