2016-12-20 11 views
0

Spring Cloud Contractを使用して複数のWiremockスタブを設定する最良の方法は、異なるホスト/ポートを持ち、どちらも@Testメソッドで実行されるコードで呼び出されますか?たとえば、ServiceA.doSomething()をテストし、このメソッドがServiceB.doSomethingElse()およびConsulClient.getKVValue()を呼び出します。 WireMockRestServiceServerのインスタンスを作成するのに問題はありませんが、別のベースURLを指す同じテスト内で2番目のインスタンスを作成する方法はわかりません。これをやろうとしている理由は、私が領事に行う電話をスタブする必要があるからです。これらの要求は常にhttp://localhost:8500に送信する必要があります。これにより、ロードバランスされたRestTemplateを通じて他のリクエストが送信されます。私は私のシナリオをはっきりと説明してくれることを願うSpring Cloud Contractを使用して、異なるホスト/ポートに対して複数のWiremockスタブを設定するにはどうすればよいですか?

答えて

1

スタブランナーに関して、依存関係ごとにHttpStubサーバーを用意することができます。これは、依存関係の文字列ベースの表記に異なるポートを提供するだけです。例@AutoConfigureStubRunner(ids = {"com.example:beer-api-producer:+:stubs:8090", "a.b:artifact:0.0.1.RELEASE:prod-stubs:9999"})。ここで説明するように、負荷分散されたものをスタブすることができます - http://cloud.spring.io/spring-cloud-contract/1.0.x/spring-cloud-contract.html#_stub_runner_spring_cloud

関連する問題