Контрактные тесты проверяют совместимость взаимодействия consumer и provider: структуру запроса, ответа, события и ожидаемые сценарии. Они дополняют, но не заменяют интеграционные и end-to-end тесты.
Сталкивались с контрактным тестированием?
Контрактные тесты проверяют совместимость взаимодействия consumer и provider: структуру запроса, ответа, события и ожидаемые сценарии. Они дополняют, но не заменяют интеграционные и end-to-end тесты.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Контрактные тесты проверяют совместимость взаимодействия consumer и provider: структуру запроса, ответа, события и ожидаемые сценарии. Они дополняют, но не заменяют интеграционные и end-to-end тесты.
Потребитель фиксирует реально используемые ожидания, а поставщик проверяет их на своей реализации. Нужно покрыть обязательные поля, типы, ошибки, совместимость версий и публикацию контрактов в CI. Тесты не должны случайно закреплять несущественный порядок полей или данные примеров. Если практического опыта нет, лучше сказать об этом и объяснить, где такие проверки снизили бы риск несовместимого релиза.