Классы тестирования, использующие Spring 5 WebClient

Мы медленно переводим некоторые проекты с устаревшего класса RestTemplate на новый Spring 5 WebClient. В рамках этого у нас есть некоторые существующие тестовые классы, которые используют Mockito для проверки того, что данный метод дойдет до конечной точки X, чтобы сделать GET / POST / что угодно, используя шаблон.

Учитывая свободный интерфейс WebClient, тот же метод издевательства не совсем практичен. Я потратил некоторое время на использование WireMock, и это здорово, но, к сожалению, есть ошибка, из-за которой иногда тесты WireMock будут переполняться или зависать, и поэтому я рассматриваю альтернативы.

Есть ли у кого-нибудь другие предложения по фреймворкам или методам, которые можно использовать для проверки того, что Spring WebClient выполняет ожидаемые вызовы как часть выполнения SUT?

Вы знаете, в чем на самом деле ошибка? Вы уверены, что это сам Wiremock? Потому что это хороший инструмент для вашего дела, ИМХО.

Mykola Gurov 02.06.2018 12:38

Я пишу тесты для написанных мной API, используя Mockito и WebClient, и я не вижу в этом никаких проблем. Почему бы вам не использовать вместо этого mockito?

uneq95 10.06.2018 18:23

@ uneq95 - вы используете enable deep stubbing? Судя по моим первым попыткам с Mockito, казалось, что он не очень хорошо работает с плавным интерфейсом WebClient.

f1dave 11.06.2018 04:01

@ f1dave Я не использовал глубокое оцепление и даже не знаю, что это такое.

uneq95 11.06.2018 06:19

@ uneq95, возможно, предоставит образец кода того, что вы делаете для заглушки, в качестве ответа на этот вопрос, поскольку это может помочь мне и другим с тем же вопросом.

f1dave 14.06.2018 05:08
0
5
5 236
1

Ответы 1

Spring фактически использует OkHttp MockWebServer для тестирования WebClient.

Примеры интеграционных тестов Spring

Вы можете настроить заказанные фиктивные ответы или сопоставить фиктивные ответы для деталей запроса.

Другие вопросы по теме