es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , , , ,

Answer

  1. Avatar for 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.

    1. Al escribir un nuevo paso en forma de * 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.
    2. La palabra clave * no tiene una anotación universal para usar en los pasos con asterisco, solo existen Given, When, Then, And y But. 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 estructura Given -> 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 *.

Comments are closed.