此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 spring-cloud-contract 4.1.5spring-doc.cn

在非 JVM 环境中使用 Artifactory 中的存根进行提供者合同测试

在此流程中,我们假设:spring-doc.cn

  • API 创建者和 API 使用者是非 JVM 应用程序。spring-doc.cn

  • 协定定义是用 YAML 编写的。spring-doc.cn

  • 存根存储是 Artifactory 或 Nexus。spring-doc.cn

  • Spring Cloud Contract Docker (SCC Docker) 和 Spring Cloud Contract Stub Runner Docker (SCC Stub Runner Docker) 映像。spring-doc.cn

您可以在此处阅读有关如何将 Spring Cloud Contract 与 Docker 结合使用的更多信息。spring-doc.cn

在这里,您可以 阅读有关如何在多语言世界中使用 Spring Cloud Contract 的博客文章。spring-doc.cn

在这里,您可以找到 一个 NodeJS 应用程序示例,该应用程序同时使用 Spring Cloud Contract 作为生产者和 消费者。spring-doc.cn

生产者流

在高级别上,生产商:spring-doc.cn

  1. 写入协定定义(例如,在 YAML 中)。spring-doc.cn

  2. 将生成工具设置为:spring-doc.cn

    1. 在给定端口上使用模拟服务启动应用程序。spring-doc.cn

      如果无法进行模拟,您可以设置基础设施并以有状态的方式定义测试。spring-doc.cn

    2. 运行 Spring Cloud Contract Docker 镜像,并将正在运行的应用程序的端口作为环境变量传递。 SCC Docker 镜像:spring-doc.cn

测试完成后,存根将上传到存根存储站点(例如 Artifactory 或 Git)。spring-doc.cn

以下 UML 图显示了生产者流程:spring-doc.cn

流提供程序非 JVM 生产者

消费者流程

在高级别上,消费者:spring-doc.cn

  1. 将生成工具设置为:spring-doc.cn

  2. 针对正在运行的存根运行应用程序测试。spring-doc.cn

下面的 UML 图显示了使用者流:spring-doc.cn

流提供程序非 JVM 使用者