Выбор ответа Senior API-автотесты обновлено
Consumer-driven contracts
Вопрос
В чём идея контрактного тестирования по схеме consumer-driven (например, Pact)?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Потребитель фиксирует ожидания в контракте, поставщик проверяет его в CI. Потребитель в своих тестах описывает запросы и нужные ему части ответа, контракт публикуется (например, в Pact Broker), поставщик прогоняет его на своём коде.
Варианты ответа
- Поставщик публикует OpenAPI, а потребитель генерирует по нему клиента и типы
- Все сервисы разворачиваются вместе и тестируются на общем стенде
- Потребитель фиксирует ожидания в контракте, поставщик проверяет его в CIправильный ответ
- Это нагрузочный тест вызовов между сервисами по согласованному SLA
Разбор
Потребитель в своих тестах описывает запросы и нужные ему части ответа, контракт публикуется (например, в Pact Broker), поставщик прогоняет его на своём коде. Ломающее изменение видно до релиза и без общего стенда. Документация и сгенерированный по ней клиент не проверяют реальное поведение, интеграционный стенд медленный и хрупкий, к нагрузке это отношения не имеет.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.