public interface WebTestClientWebClient を使用してリクエストを実行する一方で、レスポンスを検証する流れるような API を提供する Web サーバーをテストするためのクライアント。このクライアントは、HTTP 経由で任意のサーバーに接続するか、モックリクエストおよびレスポンスオブジェクトを介して WebFlux アプリケーションに接続できます。bindToXxx メソッドのいずれかを使用して、インスタンスを作成します。例:
bindToController(Object...)bindToRouterFunction(RouterFunction)bindToApplicationContext(ApplicationContext)bindToServer() 警告 :Kotlin 1.3 で修正される予定の型推論の課題により、Kotlin では WebTestClient はまだ使用できません。最新の情報については、gh-20606 を参照してください。一方、提案された代替案は、Reactor および Spring Kotlin 拡張機能を備えた WebClient を直接使用して、組み込み WebFlux サーバーで統合テストを実行することです。
StatusAssertions, HeaderAssertions, JsonPathAssertions| 修飾子と型 | インターフェースと説明 |
|---|---|
static interface | WebTestClient.BodyContentSpec レスポンス本文の内容に対する期待の仕様。 |
static interface | WebTestClient.BodySpec<B, S extends WebTestClient.BodySpec<B, S>> 単一のオブジェクトにデコードされたレスポンス本文に対する期待の仕様。 |
static interface | WebTestClient.Builder テストに使用する WebClient をカスタマイズする手順。内部で WebClient.Builder に委譲します。 |
static interface | WebTestClient.ControllerSpecWebFluxConfigurer と同等で内部的に委譲するコントローラー構成をカスタマイズするための仕様。 |
static interface | WebTestClient.ListBodySpec<E> リストにデコードされたレスポンス本文に対する期待の仕様。 |
static interface | WebTestClient.MockServerSpec<B extends WebTestClient.MockServerSpec<B>> サーバーなしでテストをセットアップするための基本仕様。 |
static interface | WebTestClient.RequestBodySpec リクエストの本文を提供するための仕様。 |
static interface | WebTestClient.RequestBodyUriSpec リクエストの本文と URI を提供するための仕様。 |
static interface | WebTestClient.RequestHeadersSpec<S extends WebTestClient.RequestHeadersSpec<S>> リクエストヘッダーを追加し、交換を実行するための仕様。 |
static interface | WebTestClient.RequestHeadersUriSpec<S extends WebTestClient.RequestHeadersSpec<S>> リクエストヘッダーとリクエストの URI を提供するための仕様。 |
static interface | WebTestClient.ResponseSpec アサーションをレスポンスに適用するための連鎖 API。 |
static interface | WebTestClient.RouterFunctionSpec ルーター関数の構成をカスタマイズするための仕様。 |
static interface | WebTestClient.UriSpec<S extends WebTestClient.RequestHeadersSpec<?>> リクエストの URI を提供するための仕様。 |
| 修飾子と型 | フィールドと説明 |
|---|---|
static StringSE | WEBTESTCLIENT_REQUEST_IDWebTestClient を介して実行されるすべてのリクエストに一意の ID を割り当てるために使用されるリクエストヘッダーの名前。 |
static final StringSE WEBTESTCLIENT_REQUEST_ID
WebTestClient を介して実行されるすべてのリクエストに一意の ID を割り当てるために使用されるリクエストヘッダーの名前。これは、その ID で(たとえばサーバー側コンポーネントからの)リクエスト処理のすべての段階でコンテキスト情報を保存し、ExchangeResult が利用可能になったときにその情報を検索できます。WebTestClient.RequestHeadersUriSpec<?> get()
WebTestClient.RequestHeadersUriSpec<?> head()
WebTestClient.RequestBodyUriSpec post()
WebTestClient.RequestBodyUriSpec put()
WebTestClient.RequestBodyUriSpec patch()
WebTestClient.RequestHeadersUriSpec<?> delete()
WebTestClient.RequestHeadersUriSpec<?> options()
WebTestClient.RequestBodyUriSpec method(HttpMethod method)
HttpMethod のリクエストを準備します。WebTestClient.Builder mutate()
WebTestClient mutateWith(WebTestClientConfigurer configurer)
WebTestClient を変更し、指定された設定プログラムを適用して、新しいインスタンスを作成します。基本的には次のショートカットです。mutate().apply(configurer).build();
configurer - 適用するコンフィギュレーター static WebTestClient.ControllerSpec bindToController(ObjectSE... controllers)
@Controller をテストします。このオプションは、@EnableWebFlux のデフォルト構成をロードします。Java 構成をカスタマイズするためのビルダーメソッドがあります。結果の WebFlux アプリケーションは、モックリクエストとレスポンスを使用して HTTP サーバーなしでテストされます。controllers - テストする 1 つ以上のコントローラーインスタンス (指定された Class はインスタンスに変換されます)WebTestClient.MockServerSpec.configureClient() を使用してクライアント構成に移行する static WebTestClient.RouterFunctionSpec bindToRouterFunction(RouterFunction<?> routerFunction)
RouterFunction からサーバーをセットアップします。内部的には、提供された構成が RouterFunctions#toWebHandler に渡されます。結果の WebFlux アプリケーションは、モックリクエストとレスポンスを使用して、HTTP サーバーなしでテストされます。routerFunction - テストする RouterFunctionWebTestClient.MockServerSpec.configureClient() を使用してクライアント構成に移行する static WebTestClient.MockServerSpec<?> bindToApplicationContext(ApplicationContext applicationContext)
WebHttpHandlerBuilder に渡され、リクエスト処理チェーンがセットアップされます。結果の WebFlux アプリケーションは、モックリクエストとレスポンスを使用して HTTP サーバーなしでテストされます。Spring 構成をテストクラスに効率的にロードして挿入するために、TestContext フレームワークと @ContextConfiguration の使用を検討してください。
applicationContext - Spring コンテキスト WebTestClient.MockServerSpec.configureClient() を使用してクライアント構成に移行する static WebTestClient.MockServerSpec<?> bindToWebHandler(WebHandler webHandler)
webHandler - テストするハンドラー WebTestClient.MockServerSpec.configureClient() を使用してクライアント構成に移行する static WebTestClient.Builder bindToServer()
WebTestClient client = WebTestClient.bindToServer()
.baseUrl("http://localhost:8080")
.build();
static WebTestClient.Builder bindToServer(ClientHttpConnector connector)
bindToServer() のバリアント。