DSL 定制

本节仅适用于 Groovy DSL

你可以通过扩展 DSL 来定制 Spring Cloud Contract Verifier,本节的其余部分将对此进行说明。

扩展 DSL

你可以向 DSL 提供自己的函数。此功能的主要要求是保持静态兼容性。在本章后续内容中,你将看到以下示例:

  • 创建一个包含可重用类的 JAR。

  • 在 DSL 中引用这些类。

你可以在此处找到完整示例。

通用 JAR

以下示例展示了可在 DSL 中重用的三个类。

PatternUtils 包含消费者和生产者都使用的函数。

ConsumerUtils 包含消费者使用的函数。

ProducerUtils 包含生产者使用的函数。

在项目的依赖中添加测试依赖

要在项目的依赖中添加测试依赖,你必须首先将通用 JAR 依赖添加为测试依赖。因为你的契约文件位于测试资源路径上,所以通用 JAR 类会自动在你的 Groovy 文件中可见。以下示例展示了如何测试依赖。

在插件的依赖中添加测试依赖

现在,你必须为插件添加依赖,以便在运行时重用。

在 DSL 中引用类

现在你可以在 DSL 中引用你的类,如下面的示例所示。

你可以通过将 convertToYaml 设置为 true 来配置 Spring Cloud Contract 插件。这样,由于消费者侧使用 YAML 契约而不是 Groovy 契约,你就不必将带有扩展功能的依赖添加到消费者侧了。