Cómo pasar nuestros test Gherkin a español u otro idioma?
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.