一、什么是wire mock
什么是mock技術
對于某些不容易構造或者不容易獲取的對象,用一個虛擬的對象來創建以便測試的測試方法,這個對象可以是一個方法,可以是一個接口,我們這里介紹的mock都是接口
Wire-mock是什么?
Wire mock的官網:http://wiremock.org
Mock http apis
二、為什么要使用mock
使用真實環境問題點
1、難于創建(比如復雜的測試環境)
2、不易獲取(復雜的獲取流程)
3、不穩定(幾率性的獲取失?。?/p>
4、前后端分離(前后依賴是并行任務)
三、什么時間什么地方要使用mock
1、難于創建(比如復雜的測試環境)
2、不易獲?。◤碗s的獲取流程)
3、不穩定(幾率性的獲取失?。?/p>
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格式文件也可以)