インターフェース WebTestClient
public interface WebTestClient
内部で
WebClient を使用してリクエストを実行する一方で、レスポンスを検証する流れるような API を提供する Web サーバーをテストするためのクライアント。このクライアントは、HTTP 経由で任意のサーバーに接続するか、モックリクエストおよびレスポンスオブジェクトを介して WebFlux アプリケーションに接続できます。bindToXxx メソッドのいずれかを使用して、インスタンスを作成します。例:
- 導入:
- 5.0
- 作成者:
- Rossen Stoyanchev, Brian Clozel, Sam Brannen, Micha ł Rowicki
- 関連事項:
ネストされたクラスの要約
ネストされたクラス修飾子と型インターフェース説明static interfaceレスポンス本文の内容に対する期待の仕様。static interfaceWebTestClient.BodySpec<B,S extends WebTestClient.BodySpec<B, S>> 単一のオブジェクトにデコードされたレスポンス本文に対する期待の仕様。static interfaceテストに使用するWebClientをカスタマイズする手順。内部でWebClient.Builderに委譲します。static interfaceWebFluxConfigurerと同等で内部的に委譲するコントローラー構成をカスタマイズするための仕様。static interfaceリストにデコードされたレスポンス本文に対する期待の仕様。static interfaceサーバーなしでテストをセットアップするための基本仕様。static interfaceリクエストの本文を提供するための仕様。static interfaceリクエストの本文と URI を提供するための仕様。static interfaceリクエストヘッダーを追加し、交換を実行するための仕様。static interfaceリクエストヘッダーとリクエストの URI を提供するための仕様。static interfaceアサーションをレスポンスに適用するための連鎖 API。static interfaceルーター関数の構成をカスタマイズするための仕様。static interfaceWebTestClient.UriSpec<S extends WebTestClient.RequestHeadersSpec<?>>リクエストの URI を提供するための仕様。フィールドのサマリー
フィールド修飾子と型フィールド説明static final StringSEWebTestClientを介して実行されるすべてのリクエストに一意の ID を割り当てるために使用されるリクエストヘッダーの名前。メソッドのサマリー
修飾子と型メソッド説明static WebTestClient.MockServerSpec<?>bindToApplicationContext(ApplicationContext applicationContext) このオプションを使用して、アプリケーションの Spring 構成またはそのサブセットからサーバーをセットアップします。static WebTestClient.ControllerSpecbindToController(ObjectSE... controllers) このサーバー設定を使用して、一度に 1 つの@Controllerをテストします。bindToRouterFunction(RouterFunction<?> routerFunction) このオプションを使用して、RouterFunctionからサーバーをセットアップします。static WebTestClient.Builderこのサーバーセットアップオプションを使用すると、Reactor Netty クライアントコネクターを介してライブサーバーに接続できます。static WebTestClient.BuilderbindToServer(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