тесты MVC Spring Mock с вызовом API из внешней системы - PullRequest
0 голосов
/ 19 декабря 2018

У меня есть API (API 1), который заглушается через MockMvc. Когда я публикую на этом API через этот фиктивный объект, запрос отправляется во внешнюю систему, которая, в свою очередь, вызывает API (API 2) моей системы.Так как этот API 2 вызывается через канал http (хост: порт), а контейнер не работает, происходит сбой.Как мне справиться с этим сценарием, поскольку я не предпочел бы изменить способ, которым внешняя система вызывает мой API.Надеюсь, я уточнил.

1 Ответ

0 голосов
/ 19 декабря 2018

Если вы используете MockMvc, вы не можете тестировать вызовы по сети.

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

С другой стороны, если вы используете Spring Boot ..., вы можете иметь поддержку тестирования Spring Boot, чтобы запустить встроенный контейнер сервлета для теста, и внешние вызовы могут подключаться к работающему контейнеру сервлета через HTTP.Для этого, однако, вы обычно используете что-то вроде Spring Boot TestRestTemplate или ядро ​​Spring * WebTestClient (доступно с Spring Framework 5.0) вместо MockMvc.

.
...