【问题标题】:Wiremock error - there are no stub mappings in this WireMock instanceWiremock 错误 - 此 WireMock 实例中没有存根映射
【发布时间】:2019-07-10 08:38:03
【问题描述】:

我已经使用示例 REST/HTTP 请求模拟实现了一个基本的 WireMock。服务器代码实现如下。

使用此代码,当我从 Postman 发出 GET 请求(即 GET http://127.0.0.1:8089/some/thing)时,我收到以下错误。

无法提供响应,因为此 WireMock 实例中没有存根映射。

我的设置/代码中缺少什么?

import com.github.tomakehurst.wiremock.WireMockServer;
import com.github.tomakehurst.wiremock.core.WireMockConfiguration;

public class MockApp {

    private WireMockServer wireMockServer;

    public MockApp(String testSpec) {
        wireMockServer = new WireMockServer(WireMockConfiguration.options().
                port(8089).
                usingFilesUnderDirectory(testSpec).
                disableRequestJournal());
    }

    public void start() {
        wireMockServer.start();
    }

    public void stop() {
        wireMockServer.stop();
    }
}

主要功能是:

public class MockMain {

    public static void main(String[] args) {

        String baseDir = System.getProperty("user.dir");
        String testResource = baseDir + "/resources/testconfig/";

        MockAMS mockAMS = new MockAMS(testResource);

        mockAMS.start();
    }
}

在“resources/testconfig”下,有一个名为 mapping.json 的文件,其中包含:

{
  "request": {
    "method": "GET",
    "url": "/some/thing"
  },
  "response": {
    "status": 200,
    "body": "Hello world!",
    "headers": {
      "Content-Type": "text/plain"
    }
  }
}

【问题讨论】:

    标签: java wiremock stubbing


    【解决方案1】:

    我找到了解决方案。因此,基本上我们需要在“testResource”变量标识的目录下创建一个名为“mappings”(确切名称)的文件夹。所以在上面的代码示例中,mapping.json 文件将存储在位置:“MockApp/resources/testconfig/mappings/mapping.json”。

    一旦完成,它将打印以下输出。从日志中可以看出,“存根映射大小为 1”。一旦您在代码中添加以下行,就会打印出来。

    System.out.println("Stub mapping size: " + wireMockServer.getStubMappings().size());
    
    Stub mapping size: 1
    {
      "id" : "da5735a6-b6cc-45aa-8256-fb88b5670610",
      "request" : {
        "url" : "/some/thing",
        "method" : "GET"
      },
      "response" : {
        "status" : 200,
        "body" : "Hello world!",
        "headers" : {
          "Content-Type" : "text/plain"
        }
      },
      "uuid" : "da5735a6-b6cc-45aa-8256-fb88b5670610"
    }
    

    【讨论】:

    • 感谢发布解决方案
    • 这个解决方案你应该得到一个 cookie!文档忽略了这一点!
    猜你喜欢
    • 1970-01-01
    • 2020-10-15
    • 2022-11-25
    • 1970-01-01
    • 1970-01-01
    • 2017-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多