クラス MockRestServiceServer

java.lang.ObjectSE
org.springframework.test.web.client.MockRestServiceServer

public final class MockRestServiceServer extends ObjectSE
クライアント側 REST テストのメインエントリポイントRestTemplate を直接または間接的に使用するテストに使用します。RestTemplate を介して実行される予想されるリクエストと、返送するモックレスポンスを設定する方法を提供するため、実際のサーバーの必要性がなくなります。

以下は、MockRestRequestMatchersMockRestResponseCreatorsExpectedCount からの静的インポートを想定した例です。

 RestTemplate restTemplate = new RestTemplate()
 MockRestServiceServer server = MockRestServiceServer.bindTo(restTemplate).build();

 server.expect(manyTimes(), requestTo("/hotels/42")).andExpect(method(HttpMethod.GET))
     .andRespond(withSuccess("{ \"id\" : \"42\", \"name\" : \"Holiday Inn\"}", MediaType.APPLICATION_JSON));

 Hotel hotel = restTemplate.getForObject("/hotels/{id}", Hotel.class, 42);
 // Use the hotel instance...

 // Verify all expectations met
 server.verify();
 

上記の代わりに、MockMvc のインスタンスに対してリクエストを実行できるようにする RestTemplate に MockMvcClientHttpRequestFactory を設定することもできます。

導入:
3.2
作成者:
Craig Walls, Rossen Stoyanchev
  • メソッドの詳細

    • expect

      public ResponseActions expect(RequestMatcher matcher)
      単一の HTTP リクエストに対する期待を設定します。返された ResponseActions を使用して、さらに期待を設定し、レスポンスを定義できます。

      このメソッドは、予想されるすべてのリクエストをセットアップするために、基礎となる RestTemplate を介してリクエストを開始する前に何度でも呼び出すことができます。

      パラメーター:
      matcher - リクエストマッチャー
      戻り値:
      期待の表現
    • expect

      public ResponseActions expect(ExpectedCount count, RequestMatcher matcher)
      リクエストの実行が予想される回数も示す expect(RequestMatcher) の代替。

      リクエストの期待値が 1 よりも大きい場合、最初の実行のみが宣言の順序と一致することが期待されます。後続のリクエスト実行は、その後どこにでも挿入できます。

      パラメーター:
      count - 予想される数
      matcher - リクエストマッチャー
      戻り値:
      期待の表現
      導入:
      4.3
    • verify

      public void verify()
      expect(RequestMatcher) を介して設定されたすべての予想されるリクエストが実際に実行されたことを確認します。
      例外:
      AssertionErrorSE - すべての期待が満たされていない場合
    • verify

      public void verify(DurationSE timeout)
      すべての期待が満たされるまで指定された時間まで待機する verify() のバリアント。これは、非同期リクエストを含むテストに役立ちます。
      パラメーター:
      timeout - すべての期待が満たされるのを待つ時間
      例外:
      AssertionErrorSE - 指定されたタイムアウトまでにすべての期待が満たされなかった場合、またはそれ以前のいずれかの時点で期待が失敗した場合。
      導入:
      5.3.4
    • reset

      public void reset()
      すべての期待値と記録されたリクエストを削除して内部状態をリセットします。
    • bindTo

      指定された RestClient.Builder の RestClient に応答するために使用される MockRestServiceServer のビルダーを返します。
      導入:
      6.1
    • bindTo

      指定された RestTemplate に応答するために使用する必要がある MockRestServiceServer のビルダーを返します。
      導入:
      4.3
    • bindTo

      指定された RestGatewaySupport の RestTemplate に応答するために使用される MockRestServiceServer のビルダーを返します。
      導入:
      4.3
    • createServer

      public static MockRestServiceServer createServer(RestTemplate restTemplate)
      bindTo(restTemplate).build() のショートカット。
      パラメーター:
      restTemplate - RestTemplate でモックテストをセットアップする
      戻り値:
      モックサーバー
    • createServer

      public static MockRestServiceServer createServer(RestGatewaySupport restGateway)
      bindTo(restGateway).build() のショートカット。
      パラメーター:
      restGateway - モックテスト用にセットアップする REST ゲートウェイ
      戻り値:
      モックサーバー