【问题标题】:Wiremock: set unique identifier to mock using JSONWiremock:使用 JSON 设置唯一标识符以模拟
【发布时间】:2021-12-16 15:32:33
【问题描述】:

我正在使用 Wiremock,并且在测试期间我想编辑在启动时在 /mappings 目录内的 JSON 文件中定义的模拟(默认模拟)。

我知道我可以在 JSON 文件中定义 UUID,但我正在寻找人类可读的东西(在测试中提及无意义的 UUID 可能不是一个好主意)。我看到我可以定义一个名称,但是如何使用它的名称编辑模拟?

谢谢

【问题讨论】:

    标签: wiremock


    【解决方案1】:

    您可以结合使用metadata 和 WireMock 的管理 API。

    ...
    "metadata": {
        "name": "My Mapping"
    }
    ...
    

    然后使用find stub mappings by metadata,您可以检索匹配对象的数组。

    POST /__admin/mappings/find-by-metadata
    
    {
        "matchesJsonPath" : {
          "expression" : "$.name",
          "contains" : "My Mapping"
        }
    }
    

    您可以解析特定 UUID 的响应,最后解析 update a stub mapping by UUID

    或者,您可以查询 Admin API 的所有映射并找到与您想要的映射匹配的映射,但我发现按元数据过滤更容易使用。

    此外,根据您用于测试的语言,您可以制作类似枚举的东西,将人类可读的名称(“我的映射”)映射到 UUID,然后跳过必须通过以下方式找到存根的步骤元数据/解析所有映射,而不是仅使用该枚举值来更新存根。

    【讨论】:

    • 我不喜欢这个解决方案的复杂性,但我知道这是使用该工具的唯一方法,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2017-01-31
    • 2021-02-20
    • 1970-01-01
    • 1970-01-01
    • 2022-09-29
    • 2011-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多