DSL 自定义
important
此部分仅适用于 Groovy DSL
你可以通过扩展DSL来自定义Spring Cloud Contract Verifier,如本节剩余部分所示。
扩展 DSL
你可以向DSL提供你自己的函数。此功能的关键要求是保持静态兼容性。在本章后面,你可以看到以下示例:
-
创建包含可重用类的 JAR 包。
-
在 DSL 中引用这些类。
你可以在这里找到完整的示例。
通用 JAR
以下示例展示了可在 DSL 中重用的三个类。
PatternUtils 包含了消费者和生产者共同使用的函数。
ConsumerUtils 包含了消费者使用的函数。
ProducerUtils 包含了生产者使用的函数。
在项目的依赖项中添加测试依赖
要在项目的依赖项中添加测试依赖项,首先需要将通用jar依赖项添加为测试依赖项。由于您的合约文件位于测试资源路径中,通用jar类会自动在您的Groovy文件中可见。以下示例展示了如何测试该依赖项。
在插件的依赖项中添加测试依赖项
现在,您必须添加插件的依赖项,以便在运行时重复使用。
在DSL中引用类
现在你可以在DSL中引用你的类了,如以下示例所示。
important
你可以通过将 convertToYaml 设置为 true 来设置 Spring Cloud Contract 插件。这样,你就不需要在消费者端添加具有扩展功能的依赖项,因为消费者端使用的是 YAML 合约而不是 Groovy 合约。