본문 바로가기
SpringBoot

React Stream create and test

by ByteBridge 2020. 8. 24.
반응형
//배열로 부터 리액트 타입 생성
public Flux<String> creatFluxFromArray(){
    String[] countryArray = new String[] {
        "Korea","America","China","Canada"
    };

    Flux<String> countryFlux = Flux.fromArray(countryArray);
    return countryFlux;
  }

// 컬렉션 타입으로부터 리액트 타입 생성
  public Flux<String> creatFluxFromIterable(){
    List<String> countryList = Arrays.asList("Korea","America","China","Canada");
    Flux<String> countryFlux = Flux.fromIterable(countryList);
    return countryFlux;
  }

// 스트림으로부터 리액트 타입 생성
  public Flux<String> creatFluxFromStream(){
    Stream<String> countryStream =
        Stream.of("Korea","America","China","Canada");
    Flux<String> countryFlux = Flux.fromStream(countryStream);
    return countryFlux;
  }

// StepVerifier 를 통해 테스트 
  @Test
  public void stepVerifierTest(){
    //StepVerifier 는  리액티브 타입(Mono or Flux) 를 구독한 다음 스트림을 통해 전달되는 데이터에 대해 assertion 을 적용하여 테스트 하도록 한다.
    StepVerifier.create(creatFluxFromArray())
        .expectNext("Korea")
        .expectNext("America")
        .expectNext("China")
        .expectNext("Canada")
        .verifyComplete();
  }
반응형

'SpringBoot' 카테고리의 다른 글

spring factory pattern  (0) 2020.10.19
spring webflux swagger config  (0) 2020.08.31
Spring boot kafka demo with docker-compose  (0) 2020.07.20
Flux and Mono  (0) 2020.07.14
how to generate random number or Alphabetic in java  (0) 2020.04.30