【问题标题】:Wiremock Stubbing not workingWiremock 存根不起作用
【发布时间】:2017-12-03 09:31:26
【问题描述】:

我刚开始使用 Wiremock,我有一个关于存根的问题。

从文档中,您似乎可以在映射下使用 JSON 文件或在 Java 代码中使用代码 stubFor(get(urlEqualTo(...。但是,我发现使用 stubFor(get(urlEqualTo( 会导致 Wiremock 控制台中出现“请求不匹配”消息。

这是正确的行为吗?存根需要代码和json文件吗?

谢谢。

【问题讨论】:

  • 行为对我来说是正确的。请求不匹配仅表示您提出了请求,但它与您模拟的请求不匹配。

标签: stubbing wiremock


【解决方案1】:

WireMock 只能在映射中使用 JSON 有效负载。听起来您的配置还有其他问题,但我需要更多详细信息来诊断。

【讨论】:

    【解决方案2】:

    不,wiremock 只能与 .json 文件或 java 代码一起使用。 如果你愿意,你可以把它组合起来。

    如果请求不匹配,则 url 未正确存根。 如果您使用的是独立进程,则可以使用 --verbose 启动它,以查找请求不匹配的详细信息。

    【讨论】:

      【解决方案3】:

      没有必要。我试过下面的代码,它对我有用:

      import static com.github.tomakehurst.wiremock.client.WireMock.aResponse;
      import static com.github.tomakehurst.wiremock.client.WireMock.get;
      import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo;
      import com.github.tomakehurst.wiremock.WireMockServer;
      
      public class WireMockTest {
          public static void main(String[] args) throws InterruptedException {
              WireMockServer wireMockServer1 = new WireMockServer();  
              wireMockServer1.start();
              wireMockServer1.stubFor(get(urlEqualTo("/testWireMock"))
                             .willReturn(aResponse().withHeader("Content-Type", "text/plain")
                             .withStatus(200).withBody("Welcome to WireMock!")));
              System.out.println("Server started");
              Thread.sleep(1000);
              wireMockServer1.stop();
          }
      }
      

      【讨论】:

      • 这并不能证明什么。此示例存根响应,但从未实际调用它来证明它正在工作。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多