そのJavadocによるとMono<T>.materialize():
受信した onNext、onError、および onComplete シグナルを Signal に変換します。エラーはシグナルとして具体化されるため、伝播は停止され、onComplete が発行されます。完全なシグナルは、最初に Signal.complete() を発行し、次にフラックスを効果的に完了します。
これは、エラーが発生していないときにPublisher返されたmaterializeが少なくとも 2 つのシグナルを発する必要があることを意味します。
Signal.nextSignal.complete
ただし、このメソッドの戻り値の型は、Mono<Signal<T>>単一のイベントの発行のみを許可します。だから私は混乱しています。コードは
Flux<Signal<Integer>> mono = Mono.just(1).materialize();
StepVerifier.create(mono)
.expectNext(Signal.next(1))
.expectNext(Signal.complete())
.verifyComplete();