Как использовать MockRestServiceServer с несколькими URL-адресами?

Мне нужно настроить несколько ожиданий для экземпляра MockRestServiceServer. Ожидания относятся к двум разным URL-адресам:

  1. URL-адрес вызова № 1
  2. URL вызова №1 (во второй раз)
  3. URL-адрес вызова № 2

Один и тот же URL-адрес вызывается дважды, затем выполняется третий вызов того же URL-адреса с разными параметрами запроса.

У меня есть один экземпляр RestTemplate с балансировкой нагрузки, доступный для внедрения в мой тест, и я передаю его в MockRestServiceServer.createServer().

Я попытался встроить эти 3 ожидания в свой экземпляр MockRestServiceServer, но тест не прошел, утверждая, что ожидался третий URL-адрес, но он увидел 1-й. Похоже, я либо перезаписываю ожидания, либо здесь есть что-то с состоянием, которое удерживает фиктивный сервер в неправильном состоянии.

Может ли кто-нибудь показать мне пример того, как это сделать правильно?


person Jeff Hall    schedule 08.11.2016    source источник


Ответы (1)


Ваша проблема может быть решена, если вы используете менеджер ожиданий не по умолчанию в Mock Server org.springframework.test.web.client.MockRestServiceServer#MockRestServiceServer: он принимает параметр org.springframework.test.web.client.RequestExpectationManager.

Вы можете пройти этот тип: org.springframework.test.web.client.UnorderedRequestExpectationManager

person alex.b    schedule 16.11.2017