API-Antwort als Eingabe für Karate Mock / Test Doubles

Oct 08 2020

Was wäre der beste Weg, um Antworten von APIs zu erfassen und als Eingabe für Karate Mock zu verwenden? Ist dies in das Karate-Framework integriert? Alle Dokumentationen oder Vorschläge werden geschätzt.

Auf hohem Niveau möchte ich Folgendes bauen.

Daten generieren

  1. Ein geplanter Job, der eine Reihe von API-Endpunkten ausführen und deren Antworten erfassen kann.
  2. Antworten, die als JSON-Datei für jeden Endpunkt gespeichert werden sollen.
  3. Erstellen Sie ein Artefakt und veröffentlichen Sie es in einem Repo, damit es teamübergreifend verfügbar ist.

Verbrauchen Sie Daten als Karate Mock / Test Doubles

  1. Der Entwickler würde das Artefakt herunterladen (JSON-Dateien).
  2. Starten Sie den Mock-Server mit Feature-Datei (en).
  3. In den Szenarien in den Feature-Dateien wird die JSON-Datei verwendet, um die Scheinantwort zu erstellen.

Hinweis: Ganz neu im Karate und lernt / erforscht derzeit seine Angebote und Fähigkeiten.

Vielen Dank.

Antworten

PeterThomas Oct 08 2020 at 13:12

Dies ist eine sehr offene Frage. Sie können dies alles tun, müssen jedoch Code schreiben. Die Rekordwiedergabe ist nicht in Karate integriert. Aber ja, Sie sollten in der Lage sein, benutzerdefinierten Code zu schreiben, um Antworten auf eine Datei zu speichern. Es gibt einige Interceptor-Hooks, die Sie sich ansehen können: Karate: Gibt es im Karate einen http-Anforderungs-Hook, der nach jedem API-Aufruf automatisch aufgerufen wird. und wessen Verhalten kann ich ändern?

Und dann können Sie einige Mocks schreiben, die einige lokale JSON-Dateien lesen und Antworten formen. Sie müssen in der Tat einige Vorbereitungen für das Framework treffen. Normalerweise verspotten Teams nicht direkt, wie Sie es zu tun scheinen. Hier sind die Dokumente:https://github.com/intuit/karate/tree/master/karate-netty