問題タブ [spring-cloud-contract]
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.
spring - Spring Cloud Contract とプレーンな Spring AMQP
スプリング ブート プロジェクトではプレーンなSpring AMQPを使用しています。
メッセージ コンシューマが実際のメッセージに対してテストできることを確認し、静的なテスト メッセージに対してテストすることを回避したいと考えています。
したがって、プロデューサーはテスト フェーズでメッセージ スニペットを生成し、それをコンシューマー テストで取得して、最新のメッセージ バージョンに対してテストし、プロデューサーの変更がコンシューマーを壊すかどうかを確認できます。
Spring Cloud Contractがまさにそれを行っているようです。春のクラウド契約を春のamqpと統合する方法はありますか? どの方向に進むべきかについてのヒントをいただければ幸いです。
java - Spring Cloud Contract が Spring Boot 1.4.1 で機能しない
Spring Cloud Contract 機能を使用して基本的な例を構築しようとしています。
Spring Tool Suite ウィザードを使用して Spring Cloud Contract を追加するには、Spring-Boot バージョン 1.4.1 以降を選択する必要があります。
ただし、Spring Boot 1.4.1 と Spring Contract 1.0.1.RELEASE を使用するプロジェクトを作成すると、すべての統合テストが次のエラーで失敗します。
また、公式の例 (サーバーおよび消費者プロジェクト)をダウンロードしようとしました。
どちらも完全に機能しますが、Spring-Boot の非安定バージョンを使用しています。
このバージョンを 1.4.1 に変更しようとすると、両方とも同じエラーで失敗します。
Spring Cloud Contract の設定方法を知っている人はいますか? そこに例はありますか?
spring - ジャージーとの春のクラウド契約
私は単純なプロジェクト Spring ブート プロジェクトを持っています。これには、Jersey ベースのコントローラーが 1 つ含まれています。 @Path("persons") @Produces(MediaType.APPLICATION_JSON) public class PersonsController {
期待どおりに json 応答を返します (url: http://localhost:PORT/persons ):
私の目的は、このコントローラーに Spring Cloud Contract テストを追加することです。必要なすべての mvn 構成を追加し、テストします。
コントラクト (groovy ファイル) は次のとおりです: import org.springframework.cloud.contract.spec.Contract
次のエラーを実行するとmvn clean package
、常に返されます: Failed tests:
ジャージーのパスが表示されないため、これは ServletDispatcher に関連していると思います。@Path を @RequestMapping に置き換えた同じプロジェクトが機能します。ただし、Jersey で動作させる必要があります。私は何かを逃しましたか?
spring-cloud-contract - Spring Cloud Contract を使用して、異なるホスト/ポートに対して複数の Wiremock スタブを設定するにはどうすればよいですか?
異なるホスト/ポートを持ち、単一の @Test メソッドによって実行されるコードで両方が呼び出される Spring Cloud Contract を使用して複数の Wiremock スタブをセットアップする最良の方法は何ですか? たとえば、ServiceA.doSomething() をテストしたいのですが、このメソッドは ServiceB.doSomethingElse() と ConsulClient.getKVValue() を呼び出します。WireMockRestServiceServer の 1 つのインスタンスを作成するのに問題はありませんが、別のベース URL を指す同じテスト内で使用される 2 つ目のインスタンスを作成する方法がわかりません。これを実行しようとしている理由は、Consul に対して行う呼び出しをスタブ化する必要があり、これらの要求を常にhttp://localhost:8500に送信する必要があるためです。これにより、他の要求は負荷を介して送信されます。バランスの取れた RestTemplate。私のシナリオを明確に説明できたことを願っています。
java - Spring Cloud Contract : ローカル リポジトリで最新バージョンのスタブを解決できない
Spring Cloud Contract 1.0.2.RELEASE を使用しており、ローカルの Maven リポジトリでスタックを公開できます。
コンシューマー側では、次のようにテストを構成します。
「+」は、ローカル リポジトリで利用可能な最新バージョンを取得することを意味するはずですが、依存関係を解決できません。ただし、「+」の代わりに正確なバージョンを指定すると、機能します。
何が欠けていますか?