Spring Cloud Contract 1.0.0.RELEASE 已发布

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

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

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

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

总体而言

Spring Cloud Contract Verifier

它是一种支持基于 JVM 的应用程序的消费者驱动契约 (CDC) 开发的工具。它附带契约定义语言 (DSL)。 契约定义用于生成以下资源

  • 在消费者端进行集成测试时,WireMock 使用的 JSON stub 定义。(测试代码仍然必须手动编写,测试数据由 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 应用程序中的“ambient”服务器,将 WireMock 与不同的服务器一起使用。查看 samples 了解更多详情。

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

Spring Cloud Contract RestDocs

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

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

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看所有