Qué es Gherkin
Por qué es necesario Gherkin
Habitualmente los proyectos tienen dos tipos de perfiles:
-
Perfiles de negocio, que entienden poco de tecnología, pero saben mucho de retorno de inversión, de funcionalidades, de requisitos, etc.
-
Perfiles tecnológicos, que saben mucho de tecnología, pero conocen poco del negocio habitualmente.
Hay entornos donde es muy importante que haya mucha cohesión entre esos perfiles, por lo que es vital tener un lenguaje común que entiendan estos dos perfiles, incluso que entiendan las máquinas.
Este lenguaje se llama Gherkin, y que sirve para acercar estos dos mundos.
Qué es Gherkin
Gherkin es un DSL o Lenguaje Específico de Dominio (Domain-Specific Languaje), es decir, un lenguaje que está creado para resolver un problema.
Tiene una estructura generada por varios elementos, como vemos en la siguiente imagen.
Estos elementos nos ayudan a que todos esos comportamientos vayan poco a poco bajando de nivel, hasta llegar a un lenguaje que entiendan fácilmente los desarrolladores.
Los elementos más utilizados habitualmente son Feature
, Scenario
, Example
, Scenario Outline
, Given
, When
, Then
y And
. El resto son un poco más desconocidos en general o bien que se han publicado recientemente.
Ejemplo básico de Gherkin
Veamos un ejemplo muy sencillo de Gherkin.
En el mismo tenemos una Feature, dónde después poco a poco va aterrizando a Scenarios
.
Después eso aterriza en algo mucho más palpable, qué es lo que todos entendemos como acciones, como puede ser seleccionar un curso nuevo o arrancar el curso dado un usuario, que están mucho más relacionado con pruebas de aceptación.