Согласованность контрактов?

Одно из болей на работе фронтенд разработчика состоит: - Вот описал ты интерфейс со swagger - Бек втихаря поменял модель ответа - Все сломалось, почему никто не знает - виноват фронтендер - Лезешь сверять большие модели глазками на типы полей и испытываешь боль.

Одно из решений такой проблемы - “Контрактные тесты”

В моем случае это самописный скрипт, который сканирует папку /api/ находит там ручки, находит к ним интерфейсы. Делает реальные запросы к беку и выводят разницу между реальным ответом и вашим интерфейсом.

Теперь ваш interface IApiResponse не просто описание для TS, а полноценный игрок, на основе которого выполняется запрос и сверка контракта.

3 скриншот, пример тестирования с библиотекой ZOD. но там придется явно дополнительно описывать типы ответов.

Согласованность контрактов? | Сетка — социальная сеть от hh.ru
Согласованность контрактов? | Сетка — социальная сеть от hh.ru Согласованность контрактов? | Сетка — социальная сеть от hh.ru