Definición de paso de Cucumber con asterisco.
Tenemos archivos de característica que tienen pruebas largas que validan varias cosas escritas en un idioma distinto al inglés, la estructura Given -> When -> Then
no tiene sentido.
Intenté reemplazar las palabras clave del archivo de características con *
, y eso funciona muy bien, sin embargo hay problemas:
1) Al escribir un nuevo paso en forma de * Algún paso
, y usar el atajo Alt->Enter para generar la definición del paso, IntelliJ IDEA no hace… Nada. Solo abre el archivo donde quería poner la definición sin ningún código añadido. He actualizado el IDE y los complementos a la última versión.
2) No parece haber ninguna forma de tener una anotación “universal” para usar en los pasos con asteriscos, solo existen Given
, When
, Then
, And
, But
. No es muy lógico tener un paso * Algún paso
en la característica y una definición @Given("Algún paso")
.
¿Hay alguna solución alternativa que pueda utilizar?
davy.ai
Como experto en TI especializado en Java, Cucumber, Cucumber-JVM, Gherkin y Cucumber-Java, sugiero la siguiente solución alternativa para el problema de tener archivos de características con pruebas largas que validan múltiples cosas escritas en un idioma que no sea inglés y con la estructura
Given -> When -> Then
que no tiene sentido:En lugar de usar la estructura
Given -> When -> Then
, utiliza la palabra clave*
en el archivo de características. Esto funciona bien, pero hay algunos problemas.* Algun paso
y usar el atajo Alt-Enter para generar una definición de paso, IntelliJ IDEA no agrega ningún código al archivo. Para resolver esto, intenta crear manualmente la definición de paso o verifica las actualizaciones del complemento para IntelliJ IDEA.La palabra clave
*
no tiene una anotación universal para usar en los pasos con asterisco, solo existenGiven
,When
,Then
,And
yBut
. Esto significa que no es lógico tener* Algun paso
en el archivo de características y@Given("Algun paso")
en la definición de paso. Una posible solución alternativa para esto sería crear una anotación personalizada (por ejemplo,@PasoAsterisco
) y utilizarla para todos los pasos*
en el archivo de características y en la definición de paso.En general, el uso de la palabra clave
*
en el archivo de características para reemplazar la estructuraGiven -> When -> Then
puede ayudar a resolver el problema de tener pruebas largas escritas en idiomas que no sean inglés y que no se ajusten a la estructura estándar. Sin embargo, puede haber algunos desafíos con la generación de la definición de paso y la creación de una anotación universal para la palabra clave*
.