インターフェース WebTestClient
public interface WebTestClient
内部で
WebClient
を使用してリクエストを実行する一方で、レスポンスを検証する流れるような API を提供する Web サーバーをテストするためのクライアント。このクライアントは、HTTP 経由で任意のサーバーに接続するか、モックリクエストおよびレスポンスオブジェクトを介して WebFlux アプリケーションに接続できます。bindToXxx メソッドのいずれかを使用して、インスタンスを作成します。例:
- 導入:
- 5.0
- 作成者:
- Rossen Stoyanchev, Brian Clozel, Sam Brannen, Micha ł Rowicki
- 関連事項:
ネストされたクラスのサマリー
ネストされたクラス修飾子と型インターフェース説明static interface
レスポンス本文の内容に対する期待の仕様。static interface
WebTestClient.BodySpec<B,
S extends WebTestClient.BodySpec<B, S>> 単一のオブジェクトにデコードされたレスポンス本文に対する期待の仕様。static interface
テストに使用するWebClient
をカスタマイズする手順。内部でWebClient.Builder
に委譲します。static interface
WebFluxConfigurer
と同等で内部的に委譲するコントローラー構成をカスタマイズするための仕様。static interface
リストにデコードされたレスポンス本文に対する期待の仕様。static interface
サーバーなしでテストをセットアップするための基本仕様。static interface
リクエストの本文を提供するための仕様。static interface
リクエストの本文と URI を提供するための仕様。static interface
リクエストヘッダーを追加し、交換を実行するための仕様。static interface
リクエストヘッダーとリクエストの URI を提供するための仕様。static interface
アサーションをレスポンスに適用するための連鎖 API。static interface
ルーター関数の構成をカスタマイズするための仕様。static interface
WebTestClient.UriSpec<S extends WebTestClient.RequestHeadersSpec<?>>
リクエストの URI を提供するための仕様。フィールドのサマリー
フィールド修飾子と型フィールド説明static final StringSE
WebTestClient
を介して実行されるすべてのリクエストに一意の ID を割り当てるために使用されるリクエストヘッダーの名前。メソッドのサマリー
修飾子と型メソッド説明static WebTestClient.MockServerSpec<?>
bindToApplicationContext
(ApplicationContext applicationContext) このオプションを使用して、アプリケーションの Spring 構成またはそのサブセットからサーバーをセットアップします。static WebTestClient.ControllerSpec
bindToController
(ObjectSE... controllers) このサーバー設定を使用して、一度に 1 つの@Controller
をテストします。bindToRouterFunction
(RouterFunction<?> routerFunction) このオプションを使用して、RouterFunction
からサーバーをセットアップします。static WebTestClient.Builder
このサーバーセットアップオプションを使用すると、Reactor Netty クライアントコネクターを介してライブサーバーに接続できます。static WebTestClient.Builder
bindToServer
(ClientHttpConnector connector) 事前に構成されたコネクターを備えたbindToServer()
のバリアント。static WebTestClient.MockServerSpec<?>
bindToWebHandler
(WebHandler webHandler) 特定の WebHandler をターゲットとする「モック」サーバーとの統合テスト。delete()
HTTP DELETE リクエストを準備します。get()
HTTP GET リクエストを準備します。head()
HTTP HEAD リクエストを準備します。method
(HttpMethod method) 指定されたHttpMethod
のリクエストを準備します。mutate()
この Web テストクライアントのプロパティを変更するビルダーを返します。mutateWith
(WebTestClientConfigurer configurer) WebTestClient
を変更し、指定されたコンフィギュレーターを適用して、新しいインスタンスを構築します。options()
HTTP OPTIONS リクエストを準備します。patch()
HTTP PATCH リクエストを準備します。post()
HTTP POST リクエストを準備します。put()
HTTP PUT リクエストを準備します。
フィールドの詳細
WEBTESTCLIENT_REQUEST_ID
WebTestClient
を介して実行されるすべてのリクエストに一意の ID を割り当てるために使用されるリクエストヘッダーの名前。これは、リクエスト処理のすべてのフェーズ (たとえば、サーバー側コンポーネントから) でその ID にコンテキスト情報を保存し、後でExchangeResult
が使用可能になったときにその情報を検索する場合に役立ちます。- 関連事項:
メソッドの詳細
get
WebTestClient.RequestHeadersUriSpec<?> get()HTTP GET リクエストを準備します。- 戻り値:
- ターゲット URL を指定するための仕様
head
WebTestClient.RequestHeadersUriSpec<?> head()HTTP HEAD リクエストを準備します。- 戻り値:
- ターゲット URL を指定するための仕様
post
HTTP POST リクエストを準備します。- 戻り値:
- ターゲット URL を指定するための仕様
put
HTTP PUT リクエストを準備します。- 戻り値:
- ターゲット URL を指定するための仕様
patch
WebTestClient.RequestBodyUriSpec patch()HTTP PATCH リクエストを準備します。- 戻り値:
- ターゲット URL を指定するための仕様
delete
WebTestClient.RequestHeadersUriSpec<?> delete()HTTP DELETE リクエストを準備します。- 戻り値:
- ターゲット URL を指定するための仕様
options
WebTestClient.RequestHeadersUriSpec<?> options()HTTP OPTIONS リクエストを準備します。- 戻り値:
- ターゲット URL を指定するための仕様
method
指定されたHttpMethod
のリクエストを準備します。- 戻り値:
- ターゲット URL を指定するための仕様
mutate
WebTestClient.Builder mutate()この Web テストクライアントのプロパティを変更するビルダーを返します。mutateWith
WebTestClient
を変更し、指定された設定プログラムを適用して、新しいインスタンスを作成します。基本的には次のショートカットです。mutate().apply(configurer).build();
- パラメーター:
configurer
- 適用するコンフィギュレーター- 戻り値:
- 変異したテストクライアント
bindToController
このサーバー設定を使用して、一度に 1 つの@Controller
をテストします。このオプションは、@EnableWebFlux
のデフォルト構成をロードします。Java 構成をカスタマイズするためのビルダーメソッドがあります。結果の WebFlux アプリケーションは、モックリクエストとレスポンスを使用して HTTP サーバーなしでテストされます。- パラメーター:
controllers
- テストする 1 つ以上のコントローラーインスタンス (指定されたClass
はインスタンスに変換されます)- 戻り値:
- サーバーとクライアントの設定をカスタマイズするためのチェーン API。
WebTestClient.MockServerSpec.configureClient()
を使用してクライアント構成に移行する
bindToRouterFunction
このオプションを使用して、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
特定の WebHandler をターゲットとする「モック」サーバーとの統合テスト。- パラメーター:
webHandler
- テストするハンドラー- 戻り値:
- サーバーとクライアントの設定をカスタマイズするためのチェーン API。
WebTestClient.MockServerSpec.configureClient()
を使用してクライアント構成に移行する
bindToServer
このサーバーセットアップオプションを使用すると、Reactor Netty クライアントコネクターを介してライブサーバーに接続できます。WebTestClient client = WebTestClient.bindToServer() .baseUrl("http://localhost:8080") .build();
- 戻り値:
- クライアント構成をカスタマイズするためのチェーン API
bindToServer
事前に構成されたコネクターを備えたbindToServer()
のバリアント。- 戻り値:
- クライアント構成をカスタマイズするためのチェーン API
- 導入:
- 5.0.2