一、起因
现在开发步骤大部分都是前后端分离,前台在调试接口的时候,在后台接口真实数据没有开发完全的情况下,只能伪造数据。传统的在前端页面制造数据的方法有点太过麻烦,在这种情况下,wireMock能够很好的帮你解决这个问题。
二、wireMock使用
1. wireMock下载与启动
http://repo1.maven.org/maven2/com/github/tomakehurst/wiremock-standalone/2.14.0/wiremock-standalone-2.14.0.jar
本地安装,控制台输入,以9000端口启动
java -jar wiremock-standalone-2.14.0.jar --port 9000

2. 项目引入
<dependency>
<groupId>com.github.tomakehurst</groupId>
<artifactId>wiremock</artifactId>
<version>2.24.1</version>
</dependency>
3. 伪造数据构造
项目resource
目录下建立wiremock
文件夹(自定义),新建文本user.json文件(自定),如下:
{
"name":"zhangsan"
}
4. 伪造服务
- 工具类
/**
* <一句话功能描述>:构建wireMock服务
* <功能详细描述>:
* @Param: url 接口路径
* @Param filename 文件名字
* @Return: void
*/
public static void mock(String url, String filename) throws IOException {
ClassPathResource resource = new ClassPathResource("/wiremock/" + filename + ".json");
String content = FileUtil.readAsString(resource.getFile());
//get请求
WireMock.stubFor(WireMock.get(WireMock.urlPathEqualTo(url))
.willReturn(WireMock.aResponse()
//body里面写 json
.withBody(content)
//返回状态码
.withStatus(200)));
}
- 启动
@Test
public void wriemock() throws Exception {
//通过端口连接服务
WireMock.configureFor(9000);
//清空之前的配置
WireMock.removeAllMappings();
//调用 封装方法
WireMockUtil.mock("/user/1","user");
}
- 浏览器测试访问
http://localhost:9000/user/1
-
效果
效果
网友评论