Модульное тестирование с помощью RestClient – ​​Spring bootJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Модульное тестирование с помощью RestClient – ​​Spring boot

Сообщение Anonymous »

Я хотел бы добавить модульные тесты для HTTP-вызова, используя RestClient
Я немного прочитал и, похоже, могу использовать @RestClientTest но это, похоже, для интеграционных тестов (он запускает сервер).
https://www.baeldung.com/restclienttest-in-spring-boot
С помощью restTemplate я могу это сделать.

Код: Выделить всё

@Mock
private RestTemplate restTemplate;

private void setRestTemplateResponse(MyResponse response) {
given(restTemplate.getForObject(
"my-endpoint", MyRespose.class
)).willReturn(response);
}
Поэтому я искал аналогичный способ сделать это. Попробовал это, но получил исключение NullPointerException, потому что restClient.get() — это метод, полученный из интерфейса

Код: Выделить всё

@Mock
private RestClient restClient;

private void setRestTemplateResponse(MyResponse response) {
given(restClient.get().uri("my-endpoint"
).retrieve().body(MyResponse.class)).willReturn(response);
}
РЕДАКТИРОВАНИЕ №1
Добавлено:

Код: Выделить всё

@Autowired
private RestClient restClient;
@BeforeEach
void setup() {
this.restClient = RestClient.builder().build();
adapter = new MyServiceImpl(BASE_URL, restClient);
}
Я не получаю исключения, но теперь он фактически отправляет запрос к конечной точке, который, очевидно, завершается неудачей.

Подробнее здесь: https://stackoverflow.com/questions/780 ... pring-boot
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»