Ich möchte eine Cucumber DataTable manuell mit Java (anstelle von Gherkin) einrichten.
In Gherkin würde mein Tisch so aussehen:
%Vor%Mein bisheriges Java sieht so aus:
%Vor%Was ich zurückbekomme, ist eine DataTable mit Kopfzeilen aber ohne Inhalt. Es ist auch länger als erwartet:
%Vor%Ich bin mir sicher, dass die Lösung ziemlich einfach sein muss, aber momentan bin ich etwas ratlos. Was muss ich tun, um meinen Tisch zu bekommen?
Hoffe, das hilft. Wenn du voller Gurken bist, sieht der Schritt so aus ...
%Vor%Sie wollen das in Java. (Beachten Sie, dass die übergebene guclucon.api.DataTable Einrichtung mit Ihren Erwartungen übereinstimmt Werte vor dem Test).
%Vor%Ich werde sagen, dass er in den Beispielen von Aslak Hellesøy die DataTable nicht benutzt.
Er würde Ihr Beispiel so machen:
%Vor%Für ein vollständiges Beispiel für weitere Lesevorgänge:
BEARBEITEN:
Entschuldigung für den Overkill @Christian, Sie brauchten vielleicht nicht den ganzen Kontext, wie man ihn in einer App benutzt, nur eine saubere Methode, um DataTable.create zu verwenden und das meiste, was ich gepostet habe war eine andere Möglichkeit, diese Katze mit der Entry-Klasse zu häuten (was für diejenigen hilfreich sein könnte, die das später lesen).
So wie du es in deinem Kommentar getan hast, war es nicht weit. Ich bin kein Profi in Sammlungen, daher kann ich Ihnen keine Tipps geben, wie Sie Ihre 2D-Liste von Strings erstellen können, aber ich kann auf die letzten beiden Parameter eingehen (wenn Sie alle 4 verwenden).
.
%Vor%Sie könnten auch den Konstruktor verwenden, der ebenso unordentlich wäre. :)
Anstelle von DataTable können wir eine Liste von benutzerdefinierten Objekten erstellen, indem wir die gleichen Felder verwenden wie in der Datentabelle.
für z.B.
%Vor%Nun sollte Ihre Step-Klasse einen Step als
definieren %Vor%Und Ihre Buchklasse sollte aussehen wie
%Vor%Da die Felder alle öffentlich sind, wird kein Getter / Setter benötigt. Wenn Sie sich entscheiden, sie als privat zu deklarieren (sehen Sie keinen Grund, warum), dann stellen Sie sicher, dass Sie auch Getter / Setter hinzufügen.
Hoffe, das hilft
Tags und Links cucumber cucumber-jvm gherkin