提供商忽略某些日期和标识符文件

时间:2017-10-25 20:40:20

标签: pact

新协议,但很高兴能够在我目前的微服务中实施#39;公司 我生成了一些比较JSON响应的报告,所有报告都是在ruby中完成的。

但是我被一些基于日期和基于索引的键感到难过。

   Key: - is expected 
        + is actual 
   Matching keys and values are not shown

    {
      "metadata": {
   -    "received_at": "2017-10-23T11:50:12Z"
   +    "received_at": "2017-10-25T01:26:00Z"
      },
      "response": {
        "cascading_avm_results": {
          "automated_valuation": {
   -        "run_date": "2017-10-23",
   -        "internal_run_identifier": "1508784611820479",
   -        "valuation_date": "2017-10-23"
   +        "run_date": "2017-10-25",
   +        "internal_run_identifier": "1508963160085440",
   +        "valuation_date": "2017-10-25"
          }
        }
      }

有没有办法让提供者响应忽略它,或修改输出以匹配这些键?

我的理解,如果我错了,请纠正我,是否我们不应该在合同测试中纠正提供商的回复?

1 个答案:

答案 0 :(得分:0)

您要做的是匹配响应的形状,而不是特定的值。为此,您需要使用灵活的匹配器 - https://github.com/realestate-com-au/pact/wiki/Regular-expressions-and-type-matching-with-Pact

您可以根据正则表达式,值类型等进行匹配,包括在数组中。