Acerca de esta herramienta
Los feature files los leen product owners y desarrolladores además de los testers, así que un formato coherente importa. Este formateador vuelve a aplicar la sangría a los bloques Feature, Rule, Background, Scenario, Scenario Outline y Examples, coloca las etiquetas junto al elemento al que pertenecen, alinea las barras verticales de las tablas de datos y de Examples, y deja intacto el contenido de los doc strings salvo su sangría base. También ejecuta comprobaciones de lint básicas: escenarios sin paso Then, nombres de escenario duplicados, pasos fuera de un escenario, Scenario Outlines sin Examples, placeholders sin columna correspondiente en Examples, filas de tabla desiguales y doc strings sin cerrar. Admite las palabras clave en inglés y se ejecuta íntegramente en tu navegador.
Cómo usarla
- Pega el contenido de un archivo .feature o pulsa “Load sample” para ver un archivo con problemas intencionados.
- Elige 2 o 4 espacios. La versión formateada y resaltada aparece a la derecha y los resultados del lint debajo, con los números de línea de la entrada.
- Copia o descarga el resultado, o pulsa “Replace input with formatted” para seguir editando la versión limpia.
Preguntas frecuentes: Formateador y linter de Gherkin
¿Por qué se marca un escenario sin paso Then?
Los pasos Then contienen las assertions. Un escenario que solo tiene pasos Given y When realiza acciones pero no verifica nada, así que pasa siempre que no se lance ninguna excepción. El linter trata los And y But posteriores a un Then como parte del bloque Then.
¿Cambia el texto de mis pasos?
No. Solo cambia la sangría, reduce los espacios extra entre etiquetas y rellena las celdas de las tablas. La redacción de los pasos, los parámetros entre comillas y el contenido de los doc strings se conservan.
¿Se permiten Examples bajo un Scenario normal?
Desde Gherkin 6, Scenario y Scenario Outline son intercambiables cuando hay una tabla Examples, y Cucumber lo ejecuta como outline. El linter acepta ambos; los placeholders como <user> deben seguir coincidiendo con una cabecera de columna de Examples.