Несоответствие типов: невозможно преобразовать из Flux <String>в Mono <String> - PullRequest
0 голосов
/ 07 мая 2019

Я написал несколько юнит-тестов с использованием реакторного потока и моно.У флюса юнит тест работает нормально.Не работает в моно.Пожалуйста, дайте мне решение.

@Test
public void monoError() {
    Mono<String> monoError = Mono.just("HelloWorld").concatWith(Mono.error(new RuntimeException("error"))).log();
    StepVerifier.create(monoError).expectNext("HellowWorld").expectErrorMessage("error").verify();
}

1 Ответ

0 голосов
/ 07 мая 2019

Ваш фрагмент кода не компилируется.

В любом случае: оператор concatWith возвращает Flux, поэтому вам нужно изменить переменную, остальное работает так, как вы, вероятно, ожидали.

Вот рабочий код:

@Test
public void monoError() {
  Flux<String> monoError = Mono.just("HelloWorld")
      .concatWith(Mono.error(new RuntimeException("error")))
      .log();          ;
  StepVerifier.create(monoError)
      .expectNext("HelloWorld")
      .expectErrorMessage("error")
      .verify();
}
...