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

标签 pact pact-jvm pact-java

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

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

每个调度对象由与简单正则表达式匹配的未知数量的键组成。但是我没有看到使用正则表达式匹配键同时将值映射到简单 bool 值的方法。

例如,我在 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

关于Pact:如何匹配键匹配正则表达式的对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50532051/

相关文章:

java - pact-jvm 手动创建pact

node.js - 将参数从 Jenkins CI 传递到 npm 脚本

node.js - 在pact js中如何请求带有边界的多部分表单

angular - 如何在 Angular 2/4/5 中使用 PactJS 来测试服务

PactDslJsonArray 匹配所有项目的根级数组

java - 关于契约使用的概念性问题

pact - 我应该测试契约(Contract)中的所有枚举值吗?

pact-jvm : how to solve au. com.dius.pact.consumer.PactMismatchesException