新协议,但很高兴能够在我目前的微服务中实施#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"
}
}
}
有没有办法让提供者响应忽略它,或修改输出以匹配这些键?
我的理解,如果我错了,请纠正我,是否我们不应该在合同测试中纠正提供商的回复?
答案 0 :(得分:0)
您要做的是匹配响应的形状,而不是特定的值。为此,您需要使用灵活的匹配器 - https://github.com/realestate-com-au/pact/wiki/Regular-expressions-and-type-matching-with-Pact。
您可以根据正则表达式,值类型等进行匹配,包括在数组中。