From 8c6795dbb8bbc957bc27237063f6429d54a25ac7 Mon Sep 17 00:00:00 2001 From: Kai Moritz Date: Sun, 22 May 2022 18:07:10 +0200 Subject: [PATCH] Some private notes, concerning the revealed insights of the experiment --- README.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/README.md b/README.md index b6eb530..afe9eae 100644 --- a/README.md +++ b/README.md @@ -261,3 +261,25 @@ See https://docs.gradle.org/6.6.1/userguide/command_line_interface.html#sec:comm BUILD FAILED in 4s 8 actionable tasks: 6 executed, 2 up-to-date ``` + +# Notizen + +* Die Anordnung der Kontrakte ist je nach Implementierung unterschiedlich. +* __Dies ist kein Fehler!__ + * Der JavaScript-Consumer erweckt den Anschein, dass die Reihenfolge + der Aufrufe im Kontrakt erhalten bleibt, so dass beim Testen des + Providers gegen den Kontrakt automatisch der benötigte Zustand + existiert. + * Dies ist aber _nicht_ so und soll so auch nicht sein. + * Der Provider ist in diesem Beispiel einfach so implementiert, dass er + gar keinen Zustand hält und nur das erwartete JSON für ausgedacht Werte + erzeugt. + * Ein Test mehrerer aufeinander folgenden Aufrufe, die sich selbst den + benötigten Zustand erzeugen (z.B. Erzeugen / Auflisten / Löschen) ist + nicht möglich und aus der Sicht von Pact auch nicht sinnvoll! + * Der Kotrakt soll nur sicherstellen, dass sich Consumer und Provider + verstehen. +* Für den Vergleich, den Pact normalisieren mit: + ``` + cat PATH_TO_PACT | jq '.interactions|=sort_by(.description)' > NORMALIZED + ``` -- 2.20.1