Как Frontend Engineer, у нас есть первоначальный дизайн спецификаций API для тестирования поведения приложения, включая запросы или ответы, такие как обработка успеха, ошибки или, возможно, случая Edge. Но могут пройти недели, прежде чем станут доступны живые звонки. Вот тут-то и приходит на помощь мокирование API. В этой статье мы рассмотрим концепцию имитации API и то, как она упрощает разработку и тестирование внешнего интерфейса.

Что такое API-мокинг?

API Mocking используется для имитации реальных API путем генерации запросов с пользовательскими данными и получения реалистичных ответов на реальный API. Можно реализовать на локальном компьютере или на фиктивном общедоступном сервере.

Возможно, вы уже попытались решить эту проблему самостоятельно, создав собственный сервер (пример с ExpressJS), запустив его, подделав API и вернув моки, но все это кажется немного громоздким. , верно? Это потребовало бы от вас одновременной обработки и запуска двух проектов одновременно.

К счастью, есть альтернативный подход! ✌️

Имитация сервисного работника (MSW)

MSW — это библиотека имитации API, которая использует Service Worker API для перехвата фактического запроса.

Service Worker API предназначен для перехвата запросов на сетевом уровне. MSW использует это, делая насмешку более последовательной. Это приводит к одинаковому поведению приложения, с имитацией или без нее. Это не только поведение, но и не требует каких-либо изменений в реальном коде приложения. Поэтому кодировать нужно только один раз!

как это работает?

Когда клиентское приложение отправляет запрос API, MSW перехватывает его до того, как он достигает фактической сети. MSW проверяет перехваченный запрос и сравнивает его с определенными обработчиками запросов. Эти обработчики определяют критерии сопоставления запросов на основе URL, метода HTTP, заголовков или любых других условий.

Если найден соответствующий обработчик запроса, MSW создает макет на основе определенной логики ответа. Этот ответ можно настроить для имитации различных сценариев, таких как успех, сбой или определенные изменения данных.

Для получения дополнительной информации ознакомьтесь с крутой документацией на MSW😎

Заключение

Использование имитации API при разработке и тестировании внешнего интерфейса дает множество преимуществ, включая уменьшение количества зависимостей, более быстрые циклы разработки и улучшенные возможности тестирования. Имитируя ответы API и настраивая данные, разработчики могут создавать удобный пользовательский интерфейс, обеспечивая при этом стабильность и надежность своих приложений. С помощью правильных инструментов и лучших практик команды фронтенда могут с легкостью использовать возможности имитации API для создания исключительных приложений.