【问题标题】:Stub calls to third party services using WireMock使用 WireMock 对第三方服务的存根调用
【发布时间】:2017-12-27 08:05:03
【问题描述】:

我试图找到一种方法来存根通过WireMock 对外部服务的调用。 WireMock 很容易模拟任何相对 URL,但是如果我们想要拦截从我们的节点发送到某个 3rd 方服务的 REST 调用并返回预定义的响应怎么办?有没有可能这样做?

【问题讨论】:

  • 有什么有用的吗?

标签: integration-testing stub stubbing wiremock


【解决方案1】:

是的,请查看文档中的代理部分:http://wiremock.org/docs/proxying

【讨论】:

  • 是否有上述案例的工作样本? Docs 看起来对我没那么有用
  • 不可能,代理部分就是拦截对本地wiremock的调用并“转发”到定义的远程服务(可能在另一台主机上)。我猜这个问题是关于另一种方式的......所以客户端调用remoteHost.some/service 并且答案被运行在同一个VM内或无论如何在与客户端本身相同的主机上运行的wiremock拦截
  • 我同意……这也是我目前的理解
【解决方案2】:

我通过将主机提取为应用程序配置来解决问题。

因此,如果您的应用程序将请求发送到:

http://thired-party-service.com/someEndPoint

您可以提取主机作为配置参数:

host=http://thired-party-service.com/

现在,当您在测试上下文中运行时,使用与您的 WireMock 服务器相同的主机填充主机参数,例如:

host=http://localhost:8080/

现在您可以照常使用 WireMock 存根了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-08
    • 2020-06-28
    • 1970-01-01
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 2012-09-10
    相关资源
    最近更新 更多