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