В настоящее время я работаю над серией веб-сервисов, которые нам нужно интегрировать с Kinesis - реализация была выполнена, однако у нас есть ряд интеграционных тестов (все наши веб-сервисы используют Spring Boot, поэтому мы используем @WebIntegrationTest
аннотации к нашим тестовым классам для запуска локального экземпляра сервера, а затем для вызова наших ресурсов с TestRestTemplate
), которые в настоящее время пытаются и не могут подключиться к реальному Kinesis.
Несмотря на то, что в обычных модульных тестах не является проблемой макетирование вызовов методов в библиотеке Kinesis, мы не можем сделать это в интеграционных тестах, поскольку весь стек приложений связан с Spring. Для некоторых других вещей (таких как OAuth2 и звонки в другие наши веб-сервисы) мы смогли использовать WireMock для макетирования реальных конечных точек - что я действительно хотел бы сделать, так это использовать WireMock таким образом, чтобы макетировать звонок в AmazonKinesisClient
, но я не могу найти совет, как это сделать.
В качестве альтернативы я видел, что некоторые компоненты AWS имеют тестовые библиотеки, написанные сторонними разработчиками, которые позволяют запускать их локальную версию (например, DynamoDbLocal), но не могут найти такое решение для Kinesis.
Кто-нибудь может дать мне несколько советов о том, как запускать интеграционные тесты с Kinesis?