У меня есть класс @Service
, который выполняет некоторые проверки на null, а затем обращается к внешней микрослужбе с помощью WebClient. Сонар жалуется, что этот класс не тестовый, потому что метод не полностью протестирован. Вопрос в том, как я могу имитировать этот вызов или использовать для этого mockserver? Я пробовал WebTestClient, но не могу заставить что-то работать ...
public Mono<CartResponse> someServiceCall(BarRequest barRequest)
//some null checks and random logic.
return WebClient.create("http://" + fooHostName)
.post()
.uri(uri)
.body(Mono.just(barRequest), BarRequest.class)
.exchange()
.flatMap(serviceResponse -> {
if (serviceResponse.statusCode().is5xxServerError()) {
//some error logic
return Mono.just(barResponse);
}
return serviceResponse.bodyToMono(BarResponse.class);
});
Так что я не хочу на самом деле делать этот звонок, я просто хочу, чтобы он был рассмотрен в тесте, поэтому я хотел бы получить некоторое представление о том, как сделать это, либо смоделировать, либо развернуть макет сервера .. Я был в этом примерно в день сейчас ..