#http #mocking #google-chrome-devtools
Вопрос:
TL;DR
Существует ли инструмент, позволяющий записывать всю сетевую активность при посещении веб-сайта и создавать макет сервера, который отвечает на эти запросы теми же ответами?
Я изучаю способы издевательства над сложным бэкендом для нашего приложения React. В настоящее время мы разрабатываем с использованием реального бэкенда (плюс тестовые/промежуточные среды). Я немного осмотрелся, и, похоже, существует ряд инструментов для насмешек над отдельными конечными точками/функциями и отправки остальных в реальный API (Mirage на данный момент лидирует в этом пакете).
Однако платоническим идеалом было бы издеваться над всем сервером, чтобы разработчик переднего плана мог работать без подключения к Интернету (опять же: платонический идеал). Это безумно высокая цель, я знаю это. И, конечно, это потребовало бы издевательств не только над нашим бэкэндом, но и над любыми сторонними источниками данных. И, конечно, данные были бы тонкими, немыми и устаревшими. Но это только для сверхскоростной разработки переднего плана, это просто издевательство. Данные не обязательно должны быть богатыми, мы сами должны сделать их настолько полезными/реалистичными, насколько нам это нужно.
Вероятно, самым быстрым способом было бы воссоздать ответы, которые уже отправляет серверная часть, а затем изменить их по мере необходимости для новых функций или тестируемых функций и т.д. Для этого мы могли бы зайти в Chrome DevTools и воссоздать все на вкладке «Сеть». Издевайтесь над каждым запросом, который был сделан с помощью жестко закодированного ответа, который вернулся. Исходя из этого, делайте умные вещи, например, используйте сопоставление URL-адресов, чтобы возвращать простое изображение-заполнитель для любого запроса на получение аватара пользователя.
Что я хочу знать: есть ли какой-нибудь инструмент, который делает это автоматически? Это может наблюдать, как я загружаю сайт, нажимаю кучу вещей, выполняю кучу действий и выплевываю или настраиваю макет, который воссоздает все ответы? И тогда мы могли бы отредактировать любую из них так, как посчитали нужным для упрощения.
Существует ли что-то подобное? возможно, это инструмент для браузера. Может быть, это промежуточное программное обеспечение webpack. Может быть, это волшебный петух.
пс. Я полагаю, что это может быть недостаточно конкретным, достаточно действенным вопросом для ЭТОГО. Я пойму, если он будет закрыт, но я был бы очень признателен, если бы меня направили туда, где такие вопросы/обсуждения уместились бы? Я достаточно новичок в этом мире, и это все, что я знаю!
Ответ №1:
Существует практика, называемая виртуализацией служб — подмножество семейства двойных тестов.
В Википедии есть список инструментов, которые вы можете использовать для этого. Вот пара примеров из этого списка:
Ответ №2:
https://mswjs.io/ может издеваться над всеми вашими просьбами. Он перехватывает все запросы вашего клиента и возвращает ваши определенные фиктивные данные.
Комментарии:
1. Это выглядит не лучше, чем Мираж, и это не решает мою проблему создания насмешек.
2. О, извините, я не заметил этого раньше. Вот какая у вас там высокая цель.