問題タブ [pact]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
941 参照

pact - 協定。URL で自動生成された ID を使用して REST GET をテストする方法

UUID で識別される特定のエンティティの詳細を返す REST サービスをテストしたい、つまり、私の消費者協定には、次のような GET を要求する相互作用があります。

/都市/123e4567-e89b-12d3-a456-426655440000

したがって、協定検証者がそれを見つけるために、この特定のレコードがデータベースに存在する必要があります。他のプロジェクトでは、状態セットアップで SQL INSERT を実行してこれを達成しましたが、この場合、データ モデルが非常に複雑であり、これらのユーティリティを使用すると節約できるため、DB へのアクセスにマイクロサービスの JPA ユーティリティを使用することをお勧めします。私は多くの努力をして、テストをより保守しやすくしました。

問題は、これらのユーティリティでは、新しいレコードを作成するときに識別子を指定できないことです (自動 ID が割り当てられます)。そのため、(状態セットアップで) エンティティを作成した後、消費者契約で指定された ID ではなく、生成された ID を使用するように契約検証者に伝えたいと思います。

私の知る限り、この特定の ID を受け取るにはマイクロサービスが必要なため、ここでは Pact マッチング手法は役に立ちません。検証者がサービスの呼び出しで使用する正しい ID を認識する方法はありますか?

0 投票する
0 に答える
2269 参照

arrays - groovy を使用して文字列の配列に一致する応答本文を含む Pact ファイルを生成する方法

私は Pact も groovy も初めてです。

プロバイダーに渡す Pact を書きたいと思います。

プロバイダーは、指定されたリクエストに対して、 のような 文字列の配列で応答する必要があります["foo", "bar", "foobar"]

これが私の作業状態です。これは必要な部分に取り除かれていますが、まだ実行可能です:

このテストでは、次の pact ファイルが生成されます。

Pact ファイルは、プロバイダーが常に次のように応答することを期待しています。["foo", "bar", "foobar"]

私が欲しいのは、文字列の汎用配列です。

次のことを試すと:

生成された Pact ファイルは次のようになります。

matchingRules があり、これは良さそうです。しかし、ルート レベルにオブジェクトがあり、配列をルートにする必要があります。

配列をルート要素として取得し、値ではなく型で一致する文字列を取得する方法はありますか?