Gherkin: Tutorial Completo

Por: Artiko
gherkinbddcucumberbehaveindice

Gherkin: Tutorial Completo

Qué es Gherkin

Gherkin es un lenguaje de dominio específico (DSL) en lenguaje natural para escribir escenarios de aceptación ejecutables. Es el lenguaje subyacente de Cucumber, behave, SpecFlow y muchas otras herramientas BDD.

Un escenario Gherkin describe el comportamiento del sistema en términos de:

Lo escriben Product Owners, QA y developers. Lo lee cualquier stakeholder. Lo ejecutan herramientas BDD que mapean cada paso a código.

Por qué importa

Capítulos

  1. Introducción a Gherkin y BDD — Origen, Cucumber, Dan North, lenguaje ubicuo
  2. Anatomía de un .feature — Feature, Scenario, Given/When/Then/And/But
  3. Tu primer escenario — Hello World ejecutable con Cucumber-JS
  4. Background y reutilización — DRY en preconditions
  5. Scenario Outline y Examples — Parametrización con tablas de ejemplos
  6. Tags y organización@smoke, @wip, ejecución selectiva
  7. Data Tables y Doc Strings — Estructuras complejas en steps
  8. Step Definitions en TypeScript — Cucumber-JS, expresiones, parámetros
  9. Step Definitions en Python — behave, decorators, parsers
  10. Hooks y world/context — Before/After, compartir estado entre steps
  11. Antipatrones Gherkin — Escenarios imperativos, UI-coupled, dependientes
  12. Living documentation y reportes — HTML, Allure, dashboards
  13. EARS + Gherkin — Derivar escenarios desde requisitos EARS
  14. Integración CI/CD — Ejecución en pipelines, paralelización, tags por entorno

Stack del tutorial

Cubrimos los dos stacks más comunes:

Los conceptos son idénticos; solo cambian las anotaciones y el parser. Cada capítulo de step definitions presenta ambos en paralelo.

Audiencia

Prerrequisitos

Referencia rápida

Palabra claveUso
FeatureEncabezado de un archivo .feature
BackgroundSteps comunes a todos los Scenarios del archivo
ScenarioUn caso de prueba
Scenario OutlinePlantilla parametrizada
ExamplesTabla de valores para un Scenario Outline
GivenPrecondición
WhenAcción/evento
ThenResultado esperado
And / ButContinuación de un Given/When/Then

Empezá por el capítulo 1.