使用pact-jvm-consumer-junit主体可以具有
DslPart etaResults = new PactDslJsonBody()
.integerType("x",1)
.asBody();
导致合同文件:
"$.body.x": {
"match": "integer"
}
使用pact-net或pact-provider-verifier验证合同,将显示以下消息:警告:忽略路径$ ['body'] ['x']
的不支持的匹配规则{“ match” =>“ integer”}使用PactProviderRule将输出设置为PactSpecVersion.V2没有帮助,仍然是相同的错误。
当前的pact-provider-verifier是否应该能够读取包含以下内容的合同“ match”:“整数”。pact-provider-verifier真正期望的是哪个版本的pact规范?
是pact-jvm设置为PactSpecVersion.V2的bugg应该输出“ match”:“ integer”还是应该是“ match”:“ type”?
肯定看起来它正在被序列化为v3
而不是v2
,正如您所说的,integer
不是v2
的有效类型。
如果您可以提供代码要点(或者更好的是一个可行的示例),我们可能会深入了解它。
不过,简而言之,v2序列化协议应该与支持v2的其他语言兼容。