http://wiremock.org/
![WireMock]()
WireMock 是基于 HTTP 的模拟器。它具备 HTTP 响应存根、请求验证、代理/拦截、记录和回放功能。
当开发人员的开发进度不一致时,可以依赖 WireMock 构建的接口,模拟不同请求与响应,从而避某一模块的开发进度。
安装WireMock 服务端
https://hub.docker.com/r/holomekc/wiremock-gui
| 12
 
 | docker pull holomekc/wiremock-guidocker run -d -p 30080:8080 --name wiremock holomekc/wiremock-gui
 
 | 
待服务运行成功后,输入http://127.0.0.1:30080/__admin/webapp ,登录可视化页面。
![wiremock-gui]()
引入WireMock依赖
有标准的和独立的两种版本,根据需要自行引入。
| 12
 3
 4
 5
 6
 
 | <dependency><groupId>com.github.tomakehurst</groupId>
 <artifactId>wiremock-jre8</artifactId>
 <version>2.25.1</version>
 <scope>test</scope>
 </dependency>
 
 | 
添加模拟请求映射
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 
 | 
 import static com.github.tomakehurst.wiremock.client.WireMock.*;
 
 public class MockServer {
 
 public static void main(String[] args) throws IOException {
 configureFor(30080);
 removeAllMappings();
 
 mock("/order/1","01");
 }
 
 private static void mock(String url,String file) throws IOException {
 ClassPathResource resource=new ClassPathResource("mock/response/"+file+".txt");
 String content= StringUtils.join(FileUtils.readLines(resource.getFile(),"UTF-8").toArray(),"\n");
 stubFor(get(urlPathEqualTo(url)).willReturn(aResponse().withBody(content).withStatus(200)));
 }
 }
 
 | 
在IntelliJ中添加静态包导入的方法
在Eclipse中,可以配置某些最喜欢的”类,当调用代码完成时,将查找这些类以查看是否可以为方法添加静态导入(这在首选项> Java>编辑器>下内容辅助>收藏夹)。
在IntelliJ中,通过File -> Settings -> Code Style -> Java -> Imports,添加需要经常引入的静态包方法。
这里在引入wiremock.client相关方法时,设置了IntelliJ中的静态方法。
![在IntelliJ中添加静态包导入]()
参考文献