UStackUStack
Decoy icon

Decoy

Decoy — нативный mock-сервер для macOS: локальные симуляции API и webhook. Определяйте маршруты, смотрите запросы и настраивайте ответы.

Decoy

Что такое Decoy?

Decoy — нативный mock-сервер для macOS, который позволяет разработчикам симулировать HTTP-маршруты и поведение webhook локально. Определяйте маршруты, просматривайте входящие запросы и возвращайте контролируемые mock-ответы, чтобы тестировать API-обертки, обработку запросов, редиректы и сценарии сбоев без запуска внешних сервисов.

Основная цель Decoy — локальное тестирование по требованию: направляете клиент на локальный домен и порт Decoy, наблюдаете каждый запрос по мере поступления и корректируете ответы маршрутов, чтобы протестировать код на выбранных сценариях.

Ключевые возможности

  • Нативное macOS-приложение с мгновенным запуском: Работает как SwiftUI-приложение, запускается быстро без Docker, облачных туннелей или шагов настройки.
  • Управление маршрутами и запросами/ответами: Определяйте пары метод + путь, группируя в проекты, затем выбирайте коды статусов ответа, тип тела, заголовки и опциональную задержку.
  • Просмотр запросов в реальном времени: Каждый входящий запрос отображается с заголовками, телом, IP источника, временными метками и идентификаторами запросов (UUID). JSON-тела автоматически форматируются.
  • Параметризованные пути и проекты: Поддержка параметров пути (например, /users/:id соответствует /users/42) и организация маршрутов в проекты.
  • Форматы ответов для типичных веб-сценариев: Выбирайте plain text, JSON, HTML, XML, файл, пустой или редирект; заголовки Location настраиваются автоматически для редиректов.
  • Поддержка браузера и CORS: Запросы из браузера работают сразу, CORS-заголовки добавляются автоматически. Поддерживаются коды редиректов (301, 302, 307, 308).
  • Снимки запросов/ответов и экспорт: Просматривайте, что реально отправлено для каждого запроса, и экспортируйте запросы как cURL, JavaScript fetch или Ruby.
  • Надежное логирование запросов через SQLite: Запросы записываются в SQLite мгновенно, данные не теряются при неожиданном закрытии приложения.

Как использовать Decoy

  1. Установите Decoy из Mac App Store, затем запустите приложение на macOS 14 Sonoma или новее.
  2. Создайте или выберите проект, затем определите маршруты с помощью пары метод + путь.
  3. Настройте mock-ответ для каждого маршрута: укажите код статуса, выберите тип тела (включая JSON, HTML, XML или файл), добавьте заголовки и опционально задержку.
  4. Направьте приложение или инструмент тестирования на локальный домен и порт Decoy (decoy.my:8998 указано в описании продукта).
  5. Отправляйте запросы из клиента или браузера. Decoy отобразит детали каждого входящего запроса и применит изменения ответа на следующем запросе.

Сценарии использования

  • Тестирование обработки webhook и граничных случаев: Отправляйте webhook-запросы в Decoy, чтобы проверить, как код обрабатывает разные коды статусов, тела ответов, заголовки и симулированную задержку.
  • Проверка логики API-оберток: Тестируйте API-клиент на контролируемых mock-маршрутах, корректируя полезные нагрузки и заголовки ответов при наблюдении за входящими запросами.
  • Воспроизведение поведения редиректов: Настройте маршруты на возврат редиректов (с нужным заголовком Location), чтобы протестировать, как приложение следует или реагирует на 301/302/307/308.
  • Раздача статического контента в разработке: Используйте файловые ответы для изображений, PDF или других файлов напрямую, или раздавайте полные HTML-страницы, установив тип тела в HTML.
  • Захват и повторное использование реальных взаимодействий запрос/ответ: Используйте снимки запросов и экспортируйте сгенерированные cURL или fetch/Ruby-эквиваленты для воспроизведения проблем или обмена примерами.

FAQ

Требует ли Decoy Docker, облачные туннели или конфигурационные файлы?
Нет. В описании продукта указано, что работает без Docker, облачных туннелей или config-файлов.

Какие платформы и версии поддерживаются?
Decoy требует macOS 14 Sonoma или новее.

Как применяются изменения в mock-ответах?
Изменения (обновление JSON, заголовков или кодов статусов) вступают в силу на следующем входящем запросе.

Может ли Decoy обрабатывать запросы из браузера и CORS?
Да. Запросы из браузера поддерживаются, CORS-заголовки добавляются автоматически.

Где хранятся данные запросов?
Запросы записываются в SQLite мгновенно, и в описании продукта отмечено, что ничего не теряется при неожиданном закрытии приложения.

Альтернативы

  • Локальные HTTP mock-серверы (универсальные инструменты): Инструменты этой категории также предоставляют локальные маршруты и управляемые ответы, обычно через конфигурационные файлы или контейнеры; акцент Decoy — нативный интерфейс macOS без Docker.
  • Специализированные платформы для API-мокирования (облачные сервисы): Они могут симулировать маршруты по сети, но обычно требуют внешней настройки и развертывания вместо локального mock-сервера.
  • Библиотеки для заглушек запросов/ответов или тестовые фреймворки: Некоторые команды используют кодовые заглушки в тестах; это отличается от автономного локального сервера Decoy с UI для просмотра запросов и редактирования ответов.
  • Инструменты для тестирования API с поддержкой мокирования: Некоторые интерактивные API-клиенты поддерживают мокирование или локальные симуляции; рабочие процессы могут отличаться, особенно в части просмотра запросов, проектов и функций снимков/экспорта ответов.

Альтернативы

Falconer icon

Falconer

Falconer — самообновляемая платформа знаний для быстрых команд: пишите, делитесь и находите надежную внутреннюю документацию и контекст кода в одном месте.

OpenFlags icon

OpenFlags

OpenFlags — open source self-hosted система feature flags для progressive delivery: локальная оценка в SDK и простая REST контрольная плоскость для безопасных релизов.

skills-janitor icon

skills-janitor

skills-janitor для Claude Code: аудит и учет навыков, сравнение с девятью командами /janitor-* и поиск дублей без зависимостей.

Rectify icon

Rectify

Rectify — единая платформа операций для SaaS: мониторинг, аналитика, поддержка, роадмапы, changelog и управление агентами в одном рабочем пространстве.

GitBoard icon

GitBoard

GitBoard — нативное приложение для строки меню macOS для GitHub Projects: смотрите канбан, фильтруйте по статусам, ищите issue и создавайте/назначайте.

Studio CLI icon

Studio CLI

Управляйте функциями WordPress Studio из терминала: локальные сайты, превью на WordPress.com, создание/обновление/удаление и аутентификация.

Decoy | UStack