? Оказывается одна из систем исправила один небольшой баг и это поломало контракт. И к примеру, встала очередь в кафка. Такое может случиться и на релизе. В моей практике такое бывало. ⚠️ Это нас приводит к важности контрактного тестирования, как одного из гейтов релизного пайплайна. 👇👇👇👇👇👇 Контрактное тестирование - это когда команда ведет разработку так, чтобы такие изменения ловились до релиза, автоматически в ci/cd. А Pact - один из самых популярных способов это организовать. Суть простая: 1️⃣ Потребитель фиксирует ожидания Потребитель (consumer) - тот, кто вызывает API. Для простоты в моей истории это будет фронт. Он говорит: "когда я делаю вот этот запрос, я ожидаю вот такой ответ: такие поля, такие типы данных, такая структура". Фронтендер разрабатывая фичу пишет небольшой контрактный тест. Разработав функционал он запускает тест используя mock бэка. Если тест проходит успешно мы получаем артефакт: pact-файл в JSON формате. Это и есть наш контракт. Файл кладется
Бывало ли у вас так, вы начинаете регресс и выясняется, что одна из систем вдруг не работает? И это блокирует всю систему и блочит регресс
20 февраля20 фев
2 мин