可以用pact-net或pact-ruby验证由pact-jvm生成的合同吗?

问题描述 投票:0回答:1

使用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”?

pact
1个回答
0
投票

肯定看起来它正在被序列化为v3而不是v2,正如您所说的,integer不是v2的有效类型。

如果您可以提供代码要点(或者更好的是一个可行的示例),我们可能会深入了解它。

不过,简而言之,v2序列化协议应该与支持v2的其他语言兼容。

© www.soinside.com 2019 - 2024. All rights reserved.