Поднимали ли все сервисы локально для тестирования
Что проверяют
Понимаете ли вы, что поднять весь ландшафт микросервисов локально обычно невозможно, и умеете ли проводить границу: что запускаем по-настоящему, а что заменяем заглушкой. Заодно оценивают масштаб системы, с которой вы реально работали.
Как отвечать
Отвечайте по фактам своей системы: сколько было сервисов, что поднималось локально, чем закрывалось остальное.
- инфраструктура через docker compose: база, брокер, кэш, сервис аутентификации;
- свой сервис запускается из среды разработки, чтобы работал отладчик и быстрая пересборка;
- соседи первого круга поднимаются готовыми образами из реестра, если их единицы;
- всё остальное закрывается WireMock или заглушкой по контракту, а соответствие реальности сверяется контрактными тестами;
- отдельный профиль конфигурации для локального запуска, секреты берутся не из прода.
Скажите, где такая схема упирается: два десятка сервисов не влезают в ноутбук, конфигурации расходятся, у соседей свои миграции. Поэтому часть проверок делается не локально, а на общем стенде, и полезно уметь направить трафик стенда на свой экземпляр для отладки. Признать это ограничение сильнее, чем сказать «поднимал всё».
Где спотыкаются
Говорят «да, поднимал всё», а на уточнение про количество сервисов, секреты и тестовые данные ответа нет. Честнее назвать, что именно поднималось, и объяснить, почему остальное было не нужно.
Считают, что docker compose снимает вопрос совместимости. Локальные образы отстают от прода, чужие миграции ушли вперёд, и расхождение контракта всплывает только на стенде. Ровно для этого и нужны контрактные тесты.
Путают локальный запуск с тестированием. Ручная проверка одной кнопкой не повторяется в CI и исчезает вместе с памятью автора. Всё, что вы проверяете руками при каждом изменении, должно превратиться в автотест.