Zum Inhalt springen

Bereich Mocks

Der Bereich Mocks ist, wo Sie die simulierten Antworten definieren, die MicroLab liefert, wenn eine Abhängigkeit als Mock aufgelöst wird. Er erlaubt Ihnen, ohne VPN und ohne den Core zu starten, den Ihr Micro aufruft, zu arbeiten.

Sie müssen nichts starten, um Mocks zu bearbeiten: Der Katalog lebt auf der Festplatte (.microlab/mocks/<Dienst>.json) und wird mit Hot-Reload geliefert, sodass eine Änderung sofort angewendet wird, selbst wenn das Szenario läuft.

Die Seite zeigt einen Baum von Diensten (den mockbaren Cores) und, in jedem, seine Endpoints. Die Endpoints werden in einklappbare Ordner gruppiert, die aus den Segmenten ihres Pfads abgeleitet werden, ohne dass Sie sie von Hand organisieren müssen.

Ein Dienst ist mockbar, wenn er eine Abhängigkeit eines Micros ist (oder wenn Sie seine Datei in .microlab/mocks erstellen). Sie können die Dienste ein- oder ausblenden, die noch keine Stubs haben.

Drücken Sie Neuer Stub (oder das Menü „⋮“) und wählen Sie den Zieldienst —einen aus dem Katalog oder einen neuen, der beim Speichern erstellt wird—. Ein Endpoint wird definiert mit:

  • Methode und Pfad (relativ zum Basispfad des Dienstes).
  • Einer oder mehreren Antwort-Varianten.

Es gibt zwei Wege, den Body zu füllen:

  • Aus OpenAPI: Wenn der Dienst eine OpenAPI-Spezifikation deklariert (im Manifest des Micros oder aus seiner Cloud-URL abgeleitet), wählen Sie die Operation und MicroLab generiert eine Vorlage des Bodys.
  • Manuell: Wenn es kein OpenAPI gibt, schreiben Sie den JSON-Body von Hand.

Ein Endpoint kann mehrere Varianten haben (zum Beispiel eine 200 und eine 500). Jede Variante hat ihre Bezeichnung, ihren Statuscode, ihren Body (JSON), ihre Header und eine optionale Latenz in Millisekunden, um Langsamkeit zu simulieren.

Die ausgewählte Variante klappt inline auf mit ihrem Body, ihren Headern und ihren Einstellungen zusammen. Die Variante, die geliefert wird, wird separat mit einem Umschalter markiert (sie ist unabhängig von der, die Sie bearbeiten): Es ist die Antwort, die MicroLab jedem zurückgibt, der diesen Endpoint aufruft.

Sie können eine Variante duplizieren, um von einer ähnlichen auszugehen, und einen ganzen Endpoint aktivieren oder deaktivieren (ein deaktivierter wird weder geliefert noch bearbeitet).

Der Mock-Editor speichert von selbst, mit einer kleinen Verzögerung, während Sie tippen; Sie sehen einen „Gespeichert“-Indikator. Sicherungen:

  • Es werden nur gültige Zustände persistiert: Ein halb geschriebener JSON-Body bricht den gelieferten Mock nicht —der letzte gültige bleibt auf der Festplatte und der Fehler wird inline markiert—.
  • Ein neuer Stub wird nicht persistiert, bis er eine nutzbare Methode und einen nutzbaren Pfad hat.
  • Das Löschen ist immer explizit, mit Bestätigung.

Mock Studio: von einem echten Aufruf zu einem Stub

Abschnitt betitelt „Mock Studio: von einem echten Aufruf zu einem Stub“

Wenn ein Szenario läuft und ein Micro einen Mock aufruft, der noch keine Antwort hat, erscheint dieser Aufruf im Dock Mock-Aufrufe. Von dort können Sie mit einem Klick einen Stub erstellen aus dem beobachteten Aufruf: Sie gelangen direkt zum Endpoint, den Sie vervollständigen wollen, ohne ihn zu suchen. Sie können auch testen, was der Mock antworten würde, ohne etwas zu starten.

Mit den Import/Export-Symbolen des Panels:

  • Exportieren Sie die Endpoints eines Dienstes (oder mehrerer) in eine JSON-Datei.
  • Importieren Sie Ihr eigenes JSON oder eine Postman-Collection (ihre Ordner werden auf Dienste abgebildet).

Nützlich, um einen Mock-Katalog zu teilen oder ihn szenarioübergreifend wiederzuverwenden.

All das existiert auch im CLI: microlab mock services, mock catalog, mock save, mock set-active, mock skeleton, mock from-call, mock probe, mock import / export. Siehe die CLI-Referenz.