UStackUStack
Decoy icon

Decoy

Decoy ist ein nativer macOS-Mock-Server für lokale API- und Webhook-Simulationen: Endpunkte definieren, Requests prüfen und konfigurierbare Antworten liefern.

Decoy

Was ist Decoy?

Decoy ist ein nativer macOS-Mock-Server für Entwickler, die HTTP-Endpunkte und Webhook-Verhalten lokal simulieren müssen. Er ermöglicht das Definieren von Routen, das Inspizieren eingehender Requests und das Zurückgeben kontrollierter Mock-Antworten – ideal zum Testen von API-Wrappers, Request-Handling, Redirects und Fehlermodi ohne externe Dienste.

Der Kernzweck von Decoy ist lokales, on-demand Testing: Richten Sie Ihren Client auf Decoys lokale Domain und Port, beobachten Sie jeden Request beim Eintreffen und passen Sie Endpoint-Antworten an, um Ihren Code gegen gewählte Szenarien zu testen.

Wichtige Funktionen

  • Native macOS-App mit instantem Start: Läuft als SwiftUI-Anwendung und startet blitzschnell ohne Docker, Cloud-Tunnels oder Setup-Schritte.
  • Endpoint- und Request/Response-Steuerung: Definieren Sie Methoden + Pfad-Paare, gruppiert in Projekte, und wählen Sie Response-Statuscodes, Body-Typ, Header und optionale Verzögerung.
  • Live-Request-Inspektion: Jeder eingehende Request wird mit Headern, Body, Quell-IP, Timestamps und Request-IDs (UUID) angezeigt. JSON-Bodies werden automatisch formatiert.
  • Parametrisierte Pfade und Projekte: Unterstützt Pfad-Parameter (z. B. /users/:id passt zu /users/42) und organisiert Endpunkte in Projekten.
  • Response-Formate für gängige Web-Szenarien: Wählen Sie zwischen Plain Text, JSON, HTML, XML, Datei, leer oder Redirect; Location-Header werden für Redirects automatisch konfiguriert.
  • Browser- und CORS-Unterstützung: Browser-Requests „funktionieren einfach“, CORS-Header werden automatisch hinzugefügt. Redirect-Statuscodes (301, 302, 307, 308) werden unterstützt.
  • Request/Response-Snapshots und Exports: Sehen Sie, was tatsächlich zurückgesendet wurde, und exportieren Sie Requests als cURL, JavaScript fetch oder Ruby.
  • Langlebige Request-Logs via SQLite: Requests werden sofort in SQLite geschrieben, sodass Daten bei unerwartetem App-Absturz nicht verloren gehen.

Decoy nutzen

  1. Installieren Sie Decoy aus dem Mac App Store und starten Sie die App auf macOS 14 Sonoma oder neuer.
  2. Erstellen oder wählen Sie ein Projekt, dann definieren Sie Endpunkte mit einem Methoden- und Pfad-Paar.
  3. Konfigurieren Sie für jeden Endpoint die Mock-Response: Statuscode festlegen, Body-Typ wählen (z. B. JSON, HTML, XML oder Datei), Header hinzufügen und optional Verzögerung setzen.
  4. Richten Sie Ihre App oder Test-Tools auf die Decoy-Local-Domain und -Port (decoy.my:8998 wird in der Produktbeschreibung erwähnt).
  5. Senden Sie Requests von Client oder Browser. Decoy zeigt Details jedes eingehenden Requests an und wendet Response-Änderungen beim nächsten Request an.

Anwendungsfälle

  • Webhook-Handling und Edge-Cases testen: Senden Sie Webhook-Requests an Decoy, um zu prüfen, wie Ihr Code Statuscodes, Response-Bodies, Header und simulierte Latenz verarbeitet.
  • API-Wrapper-Logik verifizieren: Testen Sie einen API-Client gegen kontrollierte Mock-Endpunkte, passen Sie Response-Payloads und Header an, während Sie eingehende Requests beobachten.
  • Redirect-Verhalten reproduzieren: Konfigurieren Sie Endpunkte für Redirects (mit passendem Location-Header), um zu testen, wie Ihre App 301/302/307/308 folgt oder reagiert.
  • Statische Inhalte während der Entwicklung servieren: Nutzen Sie Datei-Responses für Bilder, PDFs oder andere Dateien, oder servieren Sie vollständige HTML-Seiten mit Body-Typ HTML.
  • Echte Request/Response-Interaktionen aufzeichnen und wiederverwenden: Verwenden Sie Request-Snapshots und exportierte cURL- oder fetch/Ruby-Äquivalente, um Issues zu reproduzieren oder Beispiele zu teilen.

FAQ

Benötigt Decoy Docker, Cloud-Tunnels oder Konfigurationsdateien?
Nein. Die Produktbeschreibung besagt, es läuft ohne Docker, Cloud-Tunnels oder Config-Dateien.

Welche Plattformen und Versionen werden unterstützt?
Decoy erfordert macOS 14 Sonoma oder neuer.

Wie werden Änderungen an Mock-Responses übernommen?
Bearbeitungen (z. B. JSON, Header oder Statuscodes) wirken sich auf den nächsten eingehenden Request aus.

Kann Decoy Browser-Requests und CORS handhaben?
Ja. Browser-Requests werden unterstützt, CORS-Header automatisch hinzugefügt.

Wo werden Request-Daten gespeichert?
Requests werden sofort in SQLite geschrieben, und die Produktbeschreibung merkt an, dass nichts bei unerwartetem App-Absturz verloren geht.

Alternativen

  • Lokale HTTP-Mock-Server (generische Tools): Tools dieser Kategorie bieten ebenfalls lokale Endpunkte und steuerbare Antworten, meist über Konfigurationsdateien oder Container; Decoy setzt auf eine native macOS-Benutzeroberfläche ohne Docker.
  • Dedizierte API-Mocking-Plattformen (gehostete Dienste): Diese simulieren Endpunkte über das Netzwerk, erfordern aber in der Regel externe Einrichtung und Bereitstellung statt eines lokalen Mock-Servers.
  • Request/Response-Stubbing-Bibliotheken oder Test-Frameworks: Manche Teams nutzen codebasierte Stubs in ihrer Test-Suite; das unterscheidet sich von Decoys eigenständigem lokalem Server mit UI zur Request-Prüfung und Response-Bearbeitung.
  • API-Test-Tools mit Mocking-Unterstützung: Einige interaktive API-Clients unterstützen Mocking oder lokale Simulationen; Workflows können abweichen, insbesondere bei dedizierter Request-Prüfung, Projekten und Response-Snapshot-/Export-Funktionen.
Decoy | UStack