DSL のカスタマイズ
このセクションは、Groovy DSL に対してのみ有効です |
このセクションの残りの部分で示すように、DSL を継承することで Spring Cloud Contract Verifier をカスタマイズできます。
DSL の拡張
独自の関数を DSL に提供できます。この機能の主な要件は、静的な互換性を維持することです。この章の後半で、次の例を参照できます。
再利用可能なクラスを含む JAR を作成します。
DSL でのこれらのクラスの参照。
完全な例はここにあります。
共通 JAR
次の例は、DSL で再利用できる 3 つのクラスを示しています。
PatternUtils (英語) には、コンシューマーとプロデューサーの両方で使用される関数が含まれています。
ConsumerUtils (英語) には、コンシューマーが使用する機能が含まれています。
ProducerUtils (英語) には、プロデューサーが使用する関数が含まれています。
プロジェクトの依存関係にテストの依存関係を追加する
プロジェクトの依存関係にテストの依存関係を追加するには、まず共通の jar 依存関係をテストの依存関係として追加する必要があります。契約 ファイルはテストリソースパスで利用できるため、共通の jar クラスが自動的に Groovy ファイルに表示されるようになります。次の例 (英語) は、依存関係をテストする方法を示しています。
DSL でのクラスの参照
次の例に示す (英語) ように、DSL でクラスを参照できるようになりました。
convertToYaml を true に設定することで、Spring Cloud Contract プラグインを設定できます。こうすることで、コンシューマー側は Groovy 契約ではなく YAML 契約を使用するため、コンシューマー側に拡張機能の依存関係を追加する必要がなくなります。 |