Интерфейс
public interface Sample {
Mono<SimpleResponseDto> callApi();
}
Мой Java Реализация класса
class SampleImp implements Sample {
private WebClient webClient;
ApiCaller(WebClient webClient) {
this.webClient = webClient;
}
@Override
Mono<SimpleResponseDto> callApi() {
return webClient.put()
.uri("/api/resource")
.contentType(MediaType.APPLICATION_JSON)
.header("Authorization", "customAuth")
.syncBody(new SimpleRequestDto())
.retrieve()
.bodyToMono(SimpleResponseDto.class);
}
}
Я хочу написать пример модульного теста в kotlin
с использованием MockWebServer
. Я проверил net и обнаружил , что может мне помочь. Но здесь, в моем случае, я внедряю Sample
интерфейс в SamleImp.java
. Поскольку я не могу создать объект для интерфейса, я не могу следовать этому примеру
В соответствии с примером ApiCaller
является классом java, следовательно, они могут делать WebClient.create(mockWebServer.url("/").toString())
. Но в моем случае мне нужно вызвать callApi()
метод через Service
интерфейс
private final ApiCaller apiCaller = new ApiCaller(WebClient.create(mockWebServer.url("/").toString()));