Могу ли я настроить макет сервера, клонируя реальные ответы сервера?

#http #mocking #google-chrome-devtools

Вопрос:

TL;DR

Существует ли инструмент, позволяющий записывать всю сетевую активность при посещении веб-сайта и создавать макет сервера, который отвечает на эти запросы теми же ответами?

Я изучаю способы издевательства над сложным бэкендом для нашего приложения React. В настоящее время мы разрабатываем с использованием реального бэкенда (плюс тестовые/промежуточные среды). Я немного осмотрелся, и, похоже, существует ряд инструментов для насмешек над отдельными конечными точками/функциями и отправки остальных в реальный API (Mirage на данный момент лидирует в этом пакете).

Однако платоническим идеалом было бы издеваться над всем сервером, чтобы разработчик переднего плана мог работать без подключения к Интернету (опять же: платонический идеал). Это безумно высокая цель, я знаю это. И, конечно, это потребовало бы издевательств не только над нашим бэкэндом, но и над любыми сторонними источниками данных. И, конечно, данные были бы тонкими, немыми и устаревшими. Но это только для сверхскоростной разработки переднего плана, это просто издевательство. Данные не обязательно должны быть богатыми, мы сами должны сделать их настолько полезными/реалистичными, насколько нам это нужно.

Вероятно, самым быстрым способом было бы воссоздать ответы, которые уже отправляет серверная часть, а затем изменить их по мере необходимости для новых функций или тестируемых функций и т.д. Для этого мы могли бы зайти в Chrome DevTools и воссоздать все на вкладке «Сеть». Издевайтесь над каждым запросом, который был сделан с помощью жестко закодированного ответа, который вернулся. Исходя из этого, делайте умные вещи, например, используйте сопоставление URL-адресов, чтобы возвращать простое изображение-заполнитель для любого запроса на получение аватара пользователя.

Что я хочу знать: есть ли какой-нибудь инструмент, который делает это автоматически? Это может наблюдать, как я загружаю сайт, нажимаю кучу вещей, выполняю кучу действий и выплевываю или настраиваю макет, который воссоздает все ответы? И тогда мы могли бы отредактировать любую из них так, как посчитали нужным для упрощения.

Существует ли что-то подобное? возможно, это инструмент для браузера. Может быть, это промежуточное программное обеспечение webpack. Может быть, это волшебный петух.

пс. Я полагаю, что это может быть недостаточно конкретным, достаточно действенным вопросом для ЭТОГО. Я пойму, если он будет закрыт, но я был бы очень признателен, если бы меня направили туда, где такие вопросы/обсуждения уместились бы? Я достаточно новичок в этом мире, и это все, что я знаю!

Ответ №1:

Существует практика, называемая виртуализацией служб — подмножество семейства двойных тестов.

В Википедии есть список инструментов, которые вы можете использовать для этого. Вот пара примеров из этого списка:

Ответ №2:

https://mswjs.io/ может издеваться над всеми вашими просьбами. Он перехватывает все запросы вашего клиента и возвращает ваши определенные фиктивные данные.

Комментарии:

1. Это выглядит не лучше, чем Мираж, и это не решает мою проблему создания насмешек.

2. О, извините, я не заметил этого раньше. Вот какая у вас там высокая цель.