2016-04-18 5 views
1

У меня есть служба, которая подключается к набору api, который я хочу протестировать.Тестирование интеграции с поддельным сервером

Я хотел бы сделать Поддельный сервис для моих тестов интеграции (для имитации отказов ситуаций)

Я не могу просто использовать @RestController, поскольку они не загружается во время теста, и я посмотрел в mockserver, но я не уверен, если это то, что я ищу, поскольку я не хочу, чтобы мой тест вызывал макет вызова, но мой код должен запускать вызов api нормально, просто используя макетный сервер, а не фактический сервер (базовый url настраивается так я могу сделать свою точку обслуживания на макете сервере)

UPDATE 1:

Единственная альтернатива, которую я вижу, - это, возможно, запуск Cargo и развертывание моего сервиса внутри него?

ОБНОВЛЕНИЕ 2: Я только что узнал про Wiremock. Может ли это быть полезным здесь?

+0

Вы пробовали тест Spring MVC? –

+0

Я не хочу проверять контроллер пружины. – mangusbrother

ответ

2

Я пошел с WireMock http://wiremock.org/

Установка ClassRule в тесте JUnit будет иметь подделывать сервер и работает до ваших начала тестирования.

1

Mockito (http://docs.mockito.googlecode.com/hg/1.9.5/org/mockito/Mockito.html) - хорошая библиотека для издевательских вызовов методов. Он может возвращать определенное значение с определенным вводом. С помощью этой библиотеки вы можете издеваться над клиентом REST, чтобы имитировать связь между вашим приложением и REST api.

+0

Unfortunatley мои вызовы api запускаются при запуске контекста, поэтому попытка издеваться над ними в BeforeClass будет бесполезной, поскольку материал не был загружен, тогда как в Before слишком поздно – mangusbrother