クラス FluxExchangeResult<T>

java.lang.ObjectSE
org.springframework.test.web.reactive.server.ExchangeResult
org.springframework.test.web.reactive.server.FluxExchangeResult<T>
型パラメーター:
T - レスポンス本文の要素の型

public class FluxExchangeResult<T> extends ExchangeResult
 Flux<T> としてデコードされましたがまだ消費されていないレスポンス本体を持つ ExchangeResult バリアント。
導入:
5.0
作成者:
Rossen Stoyanchev
関連事項:
  • メソッドの詳細

    • getResponseBody

      public reactor.core.publisher.Flux<T> getResponseBody()
      デコードされた要素の Flux<T> としてレスポンス本文を返します。

      次に、"reactor-test" StepVerifier を使用してレスポンス本体ストリームをさらに消費し、(おそらく無限)ストリームから十分な要素が消費されたときにキャンセルできます。

       FluxExchangeResult<Person> result = this.client.get()
              .uri("/persons")
              .accept(TEXT_EVENT_STREAM)
              .exchange()
              .expectStatus().isOk()
              .expectHeader().contentType(TEXT_EVENT_STREAM)
              .expectBody(Person.class)
              .returnResult();
      
       StepVerifier.create(result.getResponseBody())
              .expectNext(new Person("Jane"), new Person("Jason"))
              .expectNextCount(4)
              .expectNext(new Person("Jay"))
              .thenCancel()
              .verify();
       
    • consumeWith

      public void consumeWith(ConsumerSE<FluxExchangeResult<T>> consumer)
      "this" インスタンスを渡す ExchangeResult.assertWithDiagnostics(Runnable) 内の指定されたコンシューマーを呼び出します。この方法では、呼び出しの WebTestClient チェーンを移動せずに、次のことが可能です。
              client.get()
                      .uri("/persons")
                      .accept(TEXT_EVENT_STREAM)
                      .exchange()
                      .expectStatus().isOk()
                      .returnResult()
                      .consumeWith(result -> assertThat(...);
       
      パラメーター:
      consumer - "this" インスタンスのコンシューマー