Über dieses Tool
Feature-Dateien werden von Product Ownern und Entwicklern ebenso gelesen wie von Testern, daher zählt ein einheitliches Layout. Dieser Formatter rückt Feature-, Rule-, Background-, Scenario-, Scenario-Outline- und Examples-Blöcke neu ein, setzt Tags zu dem Element, zu dem sie gehören, richtet die Pipes in Daten- und Examples-Tabellen aus und lässt den Inhalt von Doc Strings bis auf die Grundeinrückung unverändert. Außerdem führt er grundlegende Lint-Checks aus: Szenarien ohne Then-Schritt, doppelte Szenarionamen, Schritte außerhalb eines Szenarios, Scenario Outlines ohne Examples, Platzhalter ohne passende Examples-Spalte, ungleich lange Tabellenzeilen und nicht geschlossene Doc Strings. Er unterstützt englische Keywords und läuft vollständig in Ihrem Browser.
So funktioniert es
- Fügen Sie den Inhalt einer .feature-Datei ein oder klicken Sie auf „Load sample“ (Beispiel laden), um eine Datei mit absichtlichen Problemen zu sehen.
- Wählen Sie 2 oder 4 Leerzeichen. Die formatierte, hervorgehobene Version erscheint rechts, die Lint-Ergebnisse darunter mit Zeilennummern der Eingabe.
- Kopieren oder laden Sie das Ergebnis herunter oder klicken Sie auf „Replace input with formatted“, um mit der sauberen Version weiterzuarbeiten.
FAQ zu Gherkin Formatter und Linter
Warum wird ein Szenario ohne Then-Schritt markiert?
Then-Schritte enthalten die Assertions. Ein Szenario mit nur Given- und When-Schritten führt Aktionen aus, prüft aber nichts, und besteht daher, solange nichts eine Exception wirft. Der Linter behandelt And und But nach einem Then als Teil des Then-Blocks.
Ändert er meinen Schritttext?
Nein. Er ändert nur die Einrückung, fasst überzählige Leerzeichen zwischen Tags zusammen und füllt Tabellenzellen auf. Formulierung der Schritte, Parameter in Anführungszeichen und Inhalte von Doc Strings bleiben erhalten.
Sind Examples unter einem einfachen Scenario erlaubt?
Seit Gherkin 6 sind Scenario und Scenario Outline austauschbar, wenn eine Examples-Tabelle vorhanden ist, und Cucumber führt es als Outline aus. Der Linter akzeptiert beides; Platzhalter wie <user> müssen dennoch einer Spaltenüberschrift in Examples entsprechen.