Мы медленно переводим некоторые проекты с устаревшего класса RestTemplate на новый Spring 5 WebClient. В рамках этого у нас есть некоторые существующие тестовые классы, которые используют Mockito для проверки того, что данный метод дойдет до конечной точки X, чтобы сделать GET / POST / что угодно, используя шаблон.
Учитывая свободный интерфейс WebClient, тот же метод издевательства не совсем практичен. Я потратил некоторое время на использование WireMock, и это здорово, но, к сожалению, есть ошибка, из-за которой иногда тесты WireMock будут переполняться или зависать, и поэтому я рассматриваю альтернативы.
Есть ли у кого-нибудь другие предложения по фреймворкам или методам, которые можно использовать для проверки того, что Spring WebClient выполняет ожидаемые вызовы как часть выполнения SUT?
Я пишу тесты для написанных мной API, используя Mockito и WebClient, и я не вижу в этом никаких проблем. Почему бы вам не использовать вместо этого mockito?
@ uneq95 - вы используете enable deep stubbing? Судя по моим первым попыткам с Mockito, казалось, что он не очень хорошо работает с плавным интерфейсом WebClient.
@ f1dave Я не использовал глубокое оцепление и даже не знаю, что это такое.
@ uneq95, возможно, предоставит образец кода того, что вы делаете для заглушки, в качестве ответа на этот вопрос, поскольку это может помочь мне и другим с тем же вопросом.
Spring фактически использует OkHttp MockWebServer для тестирования WebClient.
Примеры интеграционных тестов Spring
Вы можете настроить заказанные фиктивные ответы или сопоставить фиктивные ответы для деталей запроса.
Вы знаете, в чем на самом деле ошибка? Вы уверены, что это сам Wiremock? Потому что это хороший инструмент для вашего дела, ИМХО.