美文网首页
WireMock伪造Restful服务

WireMock伪造Restful服务

作者: 不二不二熊 | 来源:发表于2019-09-28 22:16 被阅读0次
一、起因

现在开发步骤大部分都是前后端分离,前台在调试接口的时候,在后台接口真实数据没有开发完全的情况下,只能伪造数据。传统的在前端页面制造数据的方法有点太过麻烦,在这种情况下,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
image.png

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");
    }
  1. 浏览器测试访问
http://localhost:9000/user/1
  1. 效果


    效果

相关文章

网友评论

      本文标题:WireMock伪造Restful服务

      本文链接:https://www.haomeiwen.com/subject/azvbyctx.html