хорошо было бы поднимать тестовую среду, где запущены необходимые сервисы , протестировать общение между ними и что все пучком проходит.
Так, собственно, и тестируют. В чём вопрос-то конкретно?
У вас есть какая-то точка входа, получающая на вход данные и возвращающая какой-то результат. Вам нужно убедиться, что при конкретных входных данных возвращается корректный результат при помощи какого-либо клиента. Если речь про браузер, то можно взять Selenium или какой-то безголовый аналог, если для взаимодействия не нужен javascript.
Но я, честно говоря, считаю это пустой тратой времени. В любом случае, каждый ваш сервис должен учитывать, что окружающие сервисы могут отпасть в любой момент. Если это учтено внутри сервиса и эти кейсы покрыты внутренними тестами на моках, то тестировать реальное взаимодействие, конечно, можно, но соотношение цена/качество в этом случае получается дикое.