Я пишу микросервис на Java с использованием Spring Boot 2.0, который, основываясь на некоторых входных данных, выполняет вызовы ElasticSearch. Чтобы добиться хорошего качества, мы ввели тесты компонентов (в данном случае под компонентом я имею в виду экземпляр микросервиса), который запускает все приложение (запускает контекст Spring) и в двух словах выглядит следующим образом:
Given XXX input data
When YYY request is sent to ElasticSearch
Then service does ZZZ afterwards
Часть, с которой я борюсь, это "YYY запрос отправлен в Elasticsearch".
Обычно в таких случаях мы используем некоторую инфраструктуру для захвата запросов (например, WireMock) и помещаем утверждения в сам JSON. Есть ли лучший способ сделать это?
Я также сталкивался с ESTestCase, но на основе неинформативной документации, кажется, не соответствует нашим потребностям.
Чего я пытаюсь избежать, так это отделения клиента ES от тестов, что означает, что наш уровень изоляции тестов находится где-то в середине приложения.