테스트
테스트 방법
StepVerifier
Flux<Integer> source = Flux.just(2, 4, 6, 8, 10); StepVerifier .create(GeneralTestExample.divideByTwo(source)) .expectSubscription() .expectNext(1) .expectNext(2) .expectNext(3) .expectNext(4) .expectError() .verify();StepVerifier .create(TimeBasedTestExample.getCOVID19Count( Flux.interval(Duration.ofMinutes(1)).take(1) ) ) .expectSubscription() .expectNextCount(11) .expectComplete() .verify(Duration.ofSeconds(3));StepVerifier .withVirtualTime(() -> TimeBasedTestExample.getCOVID19Count( Flux.interval(Duration.ofHours(1)).take(1) ) ) .expectSubscription() .then(() -> VirtualTimeScheduler .get() .advanceTimeBy(Duration.ofHours(1))) .expectNextCount(11) .expectComplete() .verify();StepVerifier .create(BackpressureTestExample.generateNumber(), 1L) .thenConsumeWhile(num -> num >= 1) .expectError() .verifyThenAssertThat() .hasDroppedElements();StepVerifier .create( ContextTestExample .getSecretMessage(source) .contextWrite(context -> context.put("secretMessage", "Hello, Reactor")) .contextWrite(context -> context.put("secretKey", "aGVsbG8=")) ) .expectSubscription() .expectAccessibleContext() .hasKey("secretKey") .hasKey("secretMessage") .then() .expectNext("Hello, Reactor") .expectComplete() .verify();StepVerifier .create(RecordTestExample.getCapitalizedCountry( Flux.just("korea", "england", "canada", "india"))) .expectSubscription() .recordWith(ArrayList::new) .thenConsumeWhile(country -> !country.isEmpty()) .consumeRecordedWith(countries -> { assertThat( countries .stream() .allMatch(country -> Character.isUpperCase(country.charAt(0))), is(true) ); }) .expectComplete() .verify();
TestPublisher
PublisherProbe
Last updated