【发布时间】:2021-03-30 10:56:00
【问题描述】:
Pact 文档将此列为 SCC 中的一个缺陷。引用 Pact:
Pact 生成语言中立的接受合同,形式为 JSON 协议文件。这些协议文件可以通过以下方式创建或测试 任何实现 Pact 规范的东西,无论代码是 Ruby、Javascript、JVM 或任何其他语言。尽管它是 可以将 SCC 与非 JVM 语言一起使用,它没有本机支持 对他们来说,并要求合约是用 YAML 手动编写的,并且 使用 Docker 运行测试。
但是,在浏览了 SCC 的大量文档后,我发现是否使用 Groovy 编写合同并不重要。原因是您并没有真正与 Java 绑定,因为(根据我的理解)
- SCC 插件将为您创建存根 + 针对服务运行合同
- 在消费者端可以直接使用存根,所以直接解析合约文件没有问题
所以我的问题是,您在 SCC w.r.t. 中使用什么语言是否重要?用 Groovy 编写的合同?换句话说,在 Groovy 中编写 SCC 合约是否会在整个工作流程中将您与特定语言捆绑在一起?
【问题讨论】: