0

我正在使用wiremock 来记录映射。我正在使用 proxyBaseUrl,因此当映射不存在时,它会被路由到代理并记录请求和响应。在我的请求中,我希望映射忽略一些与时间戳相关的请求对象项。这样,当创建映射时,我已经有了timestamp通配符 like \"timestamp\": \"${json-unit.any-string}\"。我的测试创建了不同的时间戳,我希望wiremock在创建映射时忽略那些请求对象

当我运行测试时,会创建 100 个映射并逐个遍历它们,更新它们会很痛苦。所以我想提前训练记录映射以忽略某些请求对象。我该怎么做?

{
  "priority": 1000000,
  "request": {
    "method": "POST",
    "url": "/v1/computeserv/execution",
  },
  "response": {
    "proxyBaseUrl": "https://actual.computeserv.com:12345"
  }
}
4

1 回答 1

0

您需要编写一个StubMappingTransformer来处理自动修改您保存的请求。您可以在 WireMock 上的Transforming Generated Stubs文档中阅读更多相关信息。

此外,许多现代 IDE 包含一些全局查找和替换功能,包括通过正则表达式进行搜索。如果您预计不必经常记录和替换存根,则只需运行记录、生成具有特定时间戳的存根,然后在 IDE 中使用全局查找和替换功能,您可能会取得更大的成功。例如,这里是 VSCode 的Search and Replace的文档。

取决于与您的 IDE 匹配的正则表达式,但我想它会像

\"timestamp\": \"(.*)\"
于 2021-02-22T14:18:55.623 回答