Раздел 43 · Автотестирование с нуля

Контрактное тестирование: OpenAPI, Pact и кто владеет контрактом

middle~35 мин

без входаВойди, чтобы отмечать прогресс, вести заметки и решать задачи в редакторе. войти

Дина · интегратор «ПлатиМ», #platim-antrakt

Коллеги, привет! Мы чуть-чуть поменяли формат вебхука: поле amount теперь называется amount_minor, так понятнее, что сумма в копейках. Больше ничего не трогали. Выкатываем в четверг, новая спецификация во вложении.

Тимур · бэкенд, #qa-antrakt

«Чуть-чуть». Что у нас от этого сломается? Могу поднять стенд, подключить их песочницу и прогнать все e2e, к вечеру скажу.

Вера Ланская · лид QA, #qa-antrakt

К вечеру поздно, а песочница у них общая и в прошлый раз лежала три часа. На вопрос «ломает ли нас новая версия» должен отвечать один файл спецификации за секунду. Сделай нам контракт с «ПлатиМ».

В уроке 59 ты подменил сеть под клиентом «ПлатиМ» и проверил клиента во всех настроениях шлюза. И там же упёрся в стену: ответы моков пишешь ты сам, и если «ПлатиМ» поменяет формат, моки об этом не узнают. Тогда мы отложили ответ до блока про стратегию. Пришло время.

Розетка и вилка

Завод в Китае делает утюги, завод в Тольятти делает розетки. Они ни разу не встречались, и ни один утюг перед продажей не втыкали во все розетки страны. Утюг всё равно подходит. Секрет в стандарте: на нём написано, какой ширины штыри и на каком расстоянии. Завод утюгов проверяет вилку по стандарту, завод розеток проверяет розетку по стандарту. Каждый проверяет свою сторону, и встречаться им не нужно.

Если стандарт поменяли, это видно сразу, по бумаге, а не по искрам из розетки у первого покупателя.

Контракт между «Антрактом» и «ПлатиМ» это такой стандарт. Контрактный тест проверяет одну сторону по стандарту, не поднимая вторую.

урок из курса

Урок из курса «Автотестирование с нуля». Курс покупается один раз и остаётся навсегда: 500 ₽.

Оплата пока не подключена: премиум и курсы открываются промокодом.