Spring Cloud Contract 1.0.0.RELEASE 版本现已发布

发布 | Marcin Grzejszczak | 2016 年 9 月 23 日 | ...

我代表团队很高兴地宣布 Spring Cloud Contract 1.0.0.RELEASE 版本正式发布。您可以从 Spring 发布 或 Maven Central 下载它。参考文档可在此处 获取。发行说明可在此处 获取

Spring Cloud Contract 用于什么?在分布式系统中,将新功能推送到新的应用程序或服务时,您始终需要信心。Spring Cloud Contract 项目为 Spring 应用程序中的消费者驱动契约和服务模式提供支持,涵盖了编写测试、将它们发布为资产、断言生产者和消费者遵守契约(对于 HTTP 和基于消息的交互)的一系列选项。

Spring Cloud Contract 由三个主要项目组成

高级概述

Spring Cloud Contract Verifier

这是一个使基于 JVM 的应用程序能够进行消费者驱动契约 (CDC) 开发的工具。它附带契约定义语言 (DSL)。契约定义用于生成以下资源

  • 在消费者端进行集成测试时,由 WireMock 使用的 JSON 存根定义。(测试代码仍然需要手动编写,测试数据由 Spring Cloud Contract Verifier 生成)。
  • 如果您使用消息路由,则为消息路由。我们正在与 Spring Integration、Spring Cloud Stream 和 Apache Camel 集成。但是,如果需要,您可以设置自己的集成。
  • 用于验证 API 的服务器端实现是否符合契约(生产者测试)的验收测试(在 JUnit 或 Spock 中)。测试由 Spring Cloud Contract Verifier 生成。

Spring Cloud Contract Verifier 将 TDD 推动到软件架构级别。

Spring Cloud Contract WireMock

使您可以通过使用 Spring Boot 应用程序中嵌入的“环境”服务器,将 WireMock 与不同的服务器一起使用。有关更多详细信息,请查看 示例

例如,如果您有一个使用 Tomcat 作为嵌入式服务器的 Spring Boot 应用程序(spring-boot-starter-web 的默认设置),则只需将 spring-cloud-contract-wiremock 添加到您的类路径中,并在测试中添加 @AutoConfigureWireMock 即可使用 Wiremock。Wiremock 作为存根服务器运行,您可以使用 Java API 或通过静态 JSON 声明(作为测试的一部分)注册存根行为。

Spring Cloud Contract RestDocs

Spring RestDocs 可用于使用 Spring MockMvc 或 RestEasy 为 HTTP API 生成文档(例如,以 asciidoctor 格式)。在为 API 生成文档的同时,还可以通过使用 Spring Cloud Contract WireMock 生成 WireMock 存根。只需编写正常的 RestDocs 测试用例并使用 @AutoConfigureRestDocs 即可在 restdocs 输出目录中自动生成存根。

与往常一样,您可以在 GitHubStack OverflowGitterTwitter 上与我们保持联系。

获取 Spring 时事通讯

通过 Spring 时事通讯保持联系

订阅

抢先一步

VMware 提供培训和认证,助您快速提升。

了解更多

获取支持

Tanzu Spring 通过一个简单的订阅提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部