Pact:如何匹配其键与正则表达式匹配的对象?

Pact: How do I match an object whose keys match a regular expression?

我正在尝试编写一个契约消费者测试来匹配以下响应。

[
  {
      "accountId" : 1,
      "permissions" : [
         {
            "schedule" : {
               "01/01/2018" : false,
               "01/01/1900" : true
            },
            "permissionId" : 3
         }
      ]
   }
]

每个计划对象都由未知数量的键组成,这些键与一个简单的正则表达式相匹配。但是我没有看到使用正则表达式匹配键同时将值映射到简单布尔值的方法。

例如,我在API.

中看到下面的方法
public LambdaDslObject eachKeyLike(
        String exampleKey,
        Consumer<LambdaDslObject> nestedObject)

但这将需要一个新对象作为值,而不是原始类型。

"schedule" : {
  "01/01/2018" : { ... },    // not what I want to match
  "01/01/1900" : false       // what I want to match
}

有没有办法在 pact-jvm 中指定映射到原始值的不精确键?

抱歉,此功能尚不存在,但已在下一版本的契约规范中进行讨论。您可以发表您对这个问题的看法:https://github.com/pact-foundation/pact-specification/issues/47