Cuando definimos nuestros test en lenguaje Gherkin, la idea es que los tests estén escritos en un lenguaje e idioma que nuestros usuarios y expertos de negocio (equipo de producto) dominan.

Gherkin nos permite traducciones en 70 idiomas.

Cuando programamos, lo más común es que todo (funciones, variables, unit test y demás) estén escritos en inglés, pero si nuestros usuarios y expertos en negocio no manejan el inglés en el día a día, vale la pena escribir nuestros tests Gherkin en español o en el idioma que dominen los usuarios.

En este artículo describimos un ejemplo de cómo pasamos nuestros tests Gherkin al código, y aquí vamos a llevar esos test al español.

Escribiendo nuestros casos

Recuerdan que todo empieza con nuestros ejemplos de comportamiento del sistema. Cuando tenemos nuestros ejemplos (definidos en workshop de requerimientos y armamos nuestro example mapping), diseñamos nuestro escenario de test. Cada escenario tiene pasos que expresamos en lenguaje Gherkin: Given, When, Then, And, and But.

Gherkin es un lenguaje no técnico que puede ser leído por cualquier persona (como lenguaje natural) y que nos permite expresar comportamientos.

Los pasos más importantes son:

  • Given: son las precondiciones para un escenario y preparación del ambiente para ejecutar nuestro test.
  • When: la acción a realizar por el usuario (la acción que vamos a testear).
  • Then: el resultado esperado. ¿Cuál es la respuesta que esperamos de parte del sistema?

Nuestro ejemplo con data de ejemplo en lenguaje Gherkin:

Cuando lo traducimos al español, obtenemos:

Podemos ver que las palabras reservadas cambian:

Given → Dado

When → Cuando

Then → Entonces

Luego escribimos el test de forma más genérica, separando la data y convirtiéndola en variables que nos van a permitir correr el mismo test con distintos data set:

 

De Gherkin al código (scenarios, steps, step definitions)

Cuando tenemos nuestros tests escritos en Gherkin, podemos convertirlos en especificaciones ejecutables (código fuente). De esta forma podemos automatizar nuestros criterios de aceptación.

Para lograr estas especificaciones ejecutables, usamos:

  • Feature file
  • Page Object Model
  • Step definitions

Qué hacemos para cambiar nuestros test a Español?

Lo primero que debemos tener en cuenta es que nuestro Page Object Model permanece igual, aquí escribimos todo nuestro código javascript para obtener todos nuestros elementos interactuables, y escribimos las funciones correspondientes a esa página.

Puede quedarse todo escrito en inglés.

 

Lo que vamos a cambiar son nuestros Feature Files y Step Definitions.

Este era mi feature file original

 

Cuando lo traducimos a español:

 

Podemos ver que las palabras reservadas cambian:

Feature → Característica

Scenario Outline → Esquema del escenario

Given → Dado

When → Cuando

Then → Entonces

Examples → Ejemplos

 

También agregamos el lenguajeal inicio de nuestro feature file

 

Los step definitions también cambian a español, pero solamente el nombre del step. Seguimos usando Given, When y Then.

 

Y así logramos implementar en español nuestros tests con Gherkin y Cucumber.

Aquí puedes ver el código en inglés, descargarlo y correr los tests.

Aquí puedes ver el código en español, descargarlo y correr los tests.