17
17
18
18
import reactor .core .publisher .Flux ;
19
19
import reactor .core .publisher .Mono ;
20
+ import reactor .test .StepVerifier ;
20
21
21
22
import java .time .Duration ;
22
23
import java .util .stream .Stream ;
@@ -35,30 +36,31 @@ public void verifyMonoEmission() {
35
36
36
37
Mono <String > mono = Mono .just ("Hello, World" ).doOnSuccess (System .out ::println );
37
38
38
- // Use StepVerifier to verify Mono emission
39
+ StepVerifier . create ( mono ). expectNext ( "Hello, World" ). verifyComplete ();
39
40
}
40
41
41
42
@ Test
42
43
public void verifyFluxEmission () {
43
44
44
45
Flux <String > flux = Flux .just ("Hello" , "World" ).doOnNext (System .out ::println );
45
46
46
- // Use StepVerifier to verify Flux emission
47
+ StepVerifier . create ( flux ). expectNext ( "Hello" , "World" ). verifyComplete ();
47
48
}
48
49
49
50
@ Test
50
51
public void verifyInfiniteStreamEmission () {
51
52
52
53
Flux <Double > flux = Flux .fromStream (Stream .generate (Math ::random )).doOnNext (System .out ::println );
53
54
54
- // Use StepVerifier to verify Flux emission
55
+ StepVerifier . create ( flux ). expectNextCount ( 5 ). thenCancel (). verify ();
55
56
}
56
57
57
58
@ Test
58
59
public void verifyDelayedEmission () {
59
60
60
- Flux <Long > flux = Flux .interval (Duration .ofSeconds (5 )).take (10 ).doOnNext (System .out ::println );
61
-
62
- // Use StepVerifier to verify Flux emission, not spending 5 seconds per emission
61
+ StepVerifier .withVirtualTime (() -> Flux .interval (Duration .ofSeconds (5 )).take (10 ).doOnNext (System .out ::println ))
62
+ .thenAwait (Duration .ofSeconds (50 )) //
63
+ .expectNextCount (10 ) //
64
+ .verifyComplete ();
63
65
}
64
66
}
0 commit comments