インターフェース WebTestClient


public interface WebTestClient
内部で WebClient を使用してリクエストを実行する一方で、レスポンスを検証する流れるような API を提供する Web サーバーをテストするためのクライアント。このクライアントは、HTTP 経由で任意のサーバーに接続するか、モックリクエストおよびレスポンスオブジェクトを介して WebFlux アプリケーションに接続できます。

bindToXxx メソッドのいずれかを使用して、インスタンスを作成します。例:

導入:
5.0
作成者:
Rossen Stoyanchev, Brian Clozel, Sam Brannen, Micha ł Rowicki
関連事項:
  • フィールドの詳細

    • WEBTESTCLIENT_REQUEST_ID

      static final StringSE WEBTESTCLIENT_REQUEST_ID
      WebTestClient を介して実行されるすべてのリクエストに一意の ID を割り当てるために使用されるリクエストヘッダーの名前。これは、その ID で(たとえばサーバー側コンポーネントからの)リクエスト処理のすべての段階でコンテキスト情報を保存し、ExchangeResult が利用可能になったときにその情報を検索できます。
      関連事項:
  • メソッドの詳細

    • get

      HTTP GET リクエストを準備します。
      戻り値:
      ターゲット URL を指定するための仕様
    • head

      HTTP HEAD リクエストを準備します。
      戻り値:
      ターゲット URL を指定するための仕様
    • post

      HTTP POST リクエストを準備します。
      戻り値:
      ターゲット URL を指定するための仕様
    • put

      HTTP PUT リクエストを準備します。
      戻り値:
      ターゲット URL を指定するための仕様
    • patch

      HTTP PATCH リクエストを準備します。
      戻り値:
      ターゲット URL を指定するための仕様
    • delete

      HTTP DELETE リクエストを準備します。
      戻り値:
      ターゲット URL を指定するための仕様
    • options

      HTTP OPTIONS リクエストを準備します。
      戻り値:
      ターゲット URL を指定するための仕様
    • method

      指定された HttpMethod のリクエストを準備します。
      戻り値:
      ターゲット URL を指定するための仕様
    • mutate

      この Web テストクライアントのプロパティを変更するビルダーを返します。
    • mutateWith

      WebTestClient mutateWith(WebTestClientConfigurer configurer)
      WebTestClient を変更し、指定された設定プログラムを適用して、新しいインスタンスを作成します。基本的には次のショートカットです。
       mutate().apply(configurer).build();
       
      パラメーター:
      configurer - 適用するコンフィギュレーター
      戻り値:
      変異したテストクライアント
    • bindToController

      static WebTestClient.ControllerSpec bindToController(ObjectSE... controllers)
      このサーバー設定を使用して、一度に 1 つの @Controller をテストします。このオプションは、@EnableWebFlux のデフォルト構成をロードします。Java 構成をカスタマイズするためのビルダーメソッドがあります。結果の WebFlux アプリケーションは、モックリクエストとレスポンスを使用して HTTP サーバーなしでテストされます。
      パラメーター:
      controllers - テストする 1 つ以上のコントローラーインスタンス (指定された Class はインスタンスに変換されます)
      戻り値:
      サーバーとクライアントの設定をカスタマイズするためのチェーン API。WebTestClient.MockServerSpec.configureClient() を使用してクライアント構成に移行する
    • bindToRouterFunction

      static WebTestClient.RouterFunctionSpec bindToRouterFunction(RouterFunction<?> routerFunction)
      このオプションを使用して、RouterFunction からサーバーをセットアップします。内部的には、提供された構成が RouterFunctions#toWebHandler に渡されます。結果の WebFlux アプリケーションは、モックリクエストとレスポンスを使用して、HTTP サーバーなしでテストされます。
      パラメーター:
      routerFunction - テストする RouterFunction
      戻り値:
      サーバーとクライアントの設定をカスタマイズするためのチェーン API。WebTestClient.MockServerSpec.configureClient() を使用してクライアント構成に移行する
    • bindToApplicationContext

      static WebTestClient.MockServerSpec<?> bindToApplicationContext(ApplicationContext applicationContext)
      このオプションを使用して、アプリケーションの Spring 構成またはそのサブセットからサーバーをセットアップします。内部的に、提供された構成は WebHttpHandlerBuilder に渡され、リクエスト処理チェーンがセットアップされます。結果の WebFlux アプリケーションは、モックリクエストとレスポンスを使用して HTTP サーバーなしでテストされます。

      Spring 構成をテストクラスに効率的にロードして挿入するために、TestContext フレームワークと @ContextConfiguration の使用を検討してください。

      パラメーター:
      applicationContext - Spring コンテキスト
      戻り値:
      サーバーとクライアントの設定をカスタマイズするためのチェーン API。WebTestClient.MockServerSpec.configureClient() を使用してクライアント構成に移行する
    • bindToWebHandler

      static WebTestClient.MockServerSpec<?> bindToWebHandler(WebHandler webHandler)
      特定の WebHandler をターゲットとする「モック」サーバーとの統合テスト。
      パラメーター:
      webHandler - テストするハンドラー
      戻り値:
      サーバーとクライアントの設定をカスタマイズするためのチェーン API。WebTestClient.MockServerSpec.configureClient() を使用してクライアント構成に移行する
    • bindToServer

      static WebTestClient.Builder bindToServer()
      このサーバーセットアップオプションを使用すると、Reactor Netty クライアントコネクターを介してライブサーバーに接続できます。

       WebTestClient client = WebTestClient.bindToServer()
               .baseUrl("http://localhost:8080")
               .build();
       
      戻り値:
      クライアント構成をカスタマイズするためのチェーン API
    • bindToServer

      static WebTestClient.Builder bindToServer(ClientHttpConnector connector)
      事前に構成されたコネクターを備えた bindToServer() のバリアント。
      戻り値:
      クライアント構成をカスタマイズするためのチェーン API
      導入:
      5.0.2