Я хочу создать модульный тест этого кода с помощью WebFlux, но я не знаю, как это сделать, мне нужно охватить 100% метод вызова ниже в модульном тесте.
@Autowired
private WebClient webClient;
public String call(final String xml) {
return this.webClient.post().uri("URL")
.contentType(MediaType.APPLICATION_XML)
.body(Mono.just(xml),String.class)
.retrieve()
.bodyToMono(String.class)
.block();
}
спасибо вам столько, кто может мне помочь
это не повторяющийся вопрос @ EmreSavcı
Вы можете использовать WebTestClient, отметьте здесь callicoder.com/… .. а также возможен StepVerifier, читайте здесь: projectreactor.io/docs/core/release/reference/docs/…
Замечание по коду: «block ()» в конце немного пахнет, поскольку вы ничего не выиграете, используя реактивный веб-клиент, если вы покидаете реактивный мир прямо в конце метода.
@Frischling Мне нужно, чтобы этот метод возвращал строковое значение.





Вы не можете провести модульное тестирование, вам придется провести интеграционный тест. Разверните свой собственный веб-сервер, обслуживая контент, который поможет в вашем тесте. По крайней мере, это моя единственная идея.
Взгляните на это здесь:
https://mock-server.com/mock_server/running_mock_server.html
Возможный дубликат Spring WebFlux, модульное тестирование Mono и Flux