我使用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
在电线莫克中可能吗?
如果您将Wiremck作为独立进程运行,您可以将其设置为记录方式,这将有效地将所有请求代理到目标URL。
打开http://localhost:8080/__admin/recorder(假设您在默认端口8080上启动WireMock),在该屏幕上,您必须输入目标URL并单击“录制”按钮。在您停止录制之前,Wiremock将充当代理。
如果记录不是您实际需要的,您可以忽略记录的存根映射。虽然这稍微误用了Recorder功能,但它是一种快速而简单的方法,可以暂时将Wiremock转换为代理,而不是使用存根进行响应。
目前没有规则的禁用属性。您可以删除线对规则并在以后重新添加它,这在功能上是相同的。
您可以使用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”