|
该版本仍在开发中,尚未被视为稳定。对于最新的稳定版本,请使用 spring-cloud-contract 5.0.0! |
在非JVM环境中,Artifactory中的提供商合同测试与存根
在这个流程中,我们假设:
-
API Producer 和 API Consumer 是非 JVM 应用程序。
-
合同定义用YAML编写。
-
存根存储是人工存储或连接存储。
-
Spring Cloud Contract Docker (SCC Docker) 和 Spring Cloud Contract Stub Runner Docker (SCC Stub Runner Docker)镜像被使用。
你可以在这里了解更多关于如何使用 Docker 的 Spring Cloud Contract。
来,你可以 阅读一篇关于如何在多语种世界中使用春云合约的博客文章。
这里,你可以找到 这是一个NodeJS应用程序的示例,该应用既使用Spring Cloud Contract作为生产者,也是一个 消费者。
制作流程
从高层次来看,制片人:
-
编写合同定义(例如,在YAML中)。
-
将构建工具设置为:
-
在某个端口上启动应用时,先用模拟服务。
如果无法模拟,你可以搭建基础设施并以有状态的方式定义测试。
-
运行 Spring Cloud Contract Docker 镜像,并将运行中的应用的移植作为环境变量传递。 SCC Docker 镜像:
-
从附带的卷中生成测试。
-
对运行中的应用程序进行测试。
-
-
测试完成后,存根会上传到存根存储网站(如 Artifactory 或 Git)。
下图显示了生产者流程:
消费者流
从高层次来看,消费者:
-
将构建工具设置为:
-
启动 Spring Cloud 合同 Stub Runner Docker 镜像并启动 stubs。
环境变量配置如下:
-
要去取的残头。
-
存储库的位置。
请注意:
-
要使用本地存储,也可以将其作为一个卷附加。
-
残管运行的端口需要暴露。
-
-
对运行中的存根进行应用测试。
下图显示了消费者的流程: