一、什么是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工程添加依賴
???com.github.tomakehurst
???wiremock
???2.12.0
或者
??? com.github.tomakehurst
??? wiremock-standalone
??? 2.12.0
指定啟動端口:
配置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格式文件也可以)