Skip to content

contract-testing

pinout: верификация контрактов до прода

Типичная поломка. Поставщик изменил формат ответа /balance: поле из integer стало string. Тесты поставщика зелёные — он соответствует своей новой спеке. Тесты потребителя тоже зелёные — они гонялись против старой заглушки. Мержим оба изменения. В проде интеграция падает на парсинге. Несовместимость нашлась в рантайме — поздно и недетерминированно.

pinout ловит такую несовместимость до мержа, в CI — по машиночитаемым спецификациям, которые и так лежат в Git. Клиентские библиотеки генерировать и публиковать не нужно.