当前位置: 首页 > 知识库问答 >
问题:

WireMock:临时禁用存根响应

赫连昕
2023-03-14

我使用WireMock来存根来自远程服务器的响应。在文件夹wiremock/mappings中,我有许多为存根设置规则的文件。这里的例子:

{

  "request": {
    "method": "GET",
    "url": "/merchant"
  },
  "response": {
    "headers": {
      "Content-Type": "application/json"
    },
    "status": 200,
    "fixedDelayMilliseconds": 3000,
    "bodyFileName": "stub_response.json"
  }
}

如您所见,当我收到请求/martner时,会从文件stub_response.json

但假设我需要暂时禁用此响应。是否可以关闭存根响应并从远程服务器返回实际响应?

我需要这样的标志:“disable”:true

在电线莫克中可能吗?


共有3个答案

梁才
2023-03-14

如果您将Wiremck作为独立进程运行,您可以将其设置为记录方式,这将有效地将所有请求代理到目标URL。

打开http://localhost:8080/__admin/recorder(假设您在默认端口8080上启动WireMock),在该屏幕上,您必须输入目标URL并单击“录制”按钮。在您停止录制之前,Wiremock将充当代理。

如果记录不是您实际需要的,您可以忽略记录的存根映射。虽然这稍微误用了Recorder功能,但它是一种快速而简单的方法,可以暂时将Wiremock转换为代理,而不是使用存根进行响应。

漆雕昊天
2023-03-14

目前没有规则的禁用属性。您可以删除线对规则并在以后重新添加它,这在功能上是相同的。

谷梁涵忍
2023-03-14
匿名用户

您可以使用WireMock管理界面禁用规则。如果对调用DELETE命令http://.../__admin/mappings/

您可以通过对< code>http://执行get命令来获取所有guids的列表.../__admin/

如果您想用真实响应而不是存根响应替换映射,您可以添加第二个映射,该映射的优先级低于存根响应,并且代理到真实地址。通常,您的存根响应不会被使用,但是当您删除存根响应时,Wiremck将代理到真实地址,因为它将成为最高优先级的映射。

要添加代理,请将以下内容添加到响应映射中

“proxyBaseUrl” : “http://otherhost.com”,

要设置映射的优先级,请将以下内容添加到映射JSON中。

< code >【优先级】:1,

 类似资料:
  • 有时候,你希望在不会干扰其他工作的情况下临时禁用一个资源。例如, 你可能想要调整服务器上的一个配置文件,经过 Puppet 的不断测试,直到获得你想要的确切设置。 在此期间你不想让 Puppet 覆盖旧版本的配置,为此你可以在资源上设置如下的 noop 元参数: noop => true, 操作步骤 添加如下代码到你的配置清单: file { "/tmp/test.cfg": conte

  • 我想在启动我的cucumber-jvm测试之前加载我所有的wiremck存根文件。 根据wiremock docs,通过API只能推送一个文件。不是散装的。我认为在启动测试之前,应该在测试项目中使用java代码。 通过代码实现这一点的最佳方式是什么。

  • 我有一个存根文件,我通过c#管理api发送到一个独立的线子实例。当我通过postman发送时,我得到了预期的响应,除了响应体总是空的,即使在我的文件中我有这个: } 我看到预期的标题a b,但正文中什么都没有。另外,如果我将其更改为纯文本: 这也没用-我做错了什么?

  • 我想在 wiremock 中将 调用设置为 json 配置存根。 需要提供哪些附加配置? 我有下面的json配置 以上内容对于< code>http非常适用,但对于< code>https:则不适用 当更改为时,我会看到以下内容 我参考了这个答案,但不确定第一个答案中第二步的密码 即 将认证导入密钥库

  • 因此,我试图使用wiremck向带有请求正文的URL发出后请求,然后使用我的respons.json文件返回响应。(自定义响应) 我就是这样设置的,但我似乎找不到任何关于如何设置带有请求主体的post存根(包含数据,比如说尝试创建ID),然后检索自定义响应主体(从json文件创建ID响应)的信息。我该怎么设置呢。我尝试通过json文件请求生成id,然后尝试检索创建的id。 WithBodyFile

  • 我已经用一个REST/HTTP请求模拟示例实现了一个基本的WireMock。服务器代码实现如下。 有了这段代码,我在向Postman发出get请求时得到如下错误(即GET http://127 . 0 . 0 . 1:8089/some/thing)。 无法提供响应,因为此WireMock实例中没有存根映射。 我的设置/代码中缺少什么? 主要功能是: 在“resources/testconfig”