Cómo ejecutar un solo escenario de pepino por nombre

2 minutos de lectura

Avatar de usuario de Karel Muñiz Perdomo
Karel Muñiz Perdomo

Estoy pidiendo ayuda sobre cómo ejecutar un escenario de archivo de características solo por nombre. Llevo un tiempo intentando y no sale. Sé que eso se puede hacer por etiquetas o por número de línea, pero me pregunto si podemos hacer una prueba de pepino por nombre, más o menos con esta nomenclatura.

Dado un archivo llamado “features/test.feature” con:

Feature: 
  Scenario: My first scenario
    Given this step is blah blah blah

  Scenario: My second scenario
    Given this step too blah blah

Quiero ejecutar un escenario por nombre desde la consola o con gradle, tal vez similar de esta manera

cucumber features/test.feuture::My second scenario

O tal vez con gradle

./gradlew cucumber::My second scenario

Avatar de usuario de MP Korstanje
Diputado Korstanje

No describiste cómo comienzas con el pepino, así que no puedo ayudarte con eso.

  • Cuando se utiliza desde la CLI acepta --name REGEXP. Esto solo ejecutará escenarios cuyos nombres coincidan con REGEXP.

  • El @CucumberOptions la anotación acepta name="REGEXP".

  • Pepino -Dcucumber.options=–name REGEXP. No sé el equivalente para gradle. Tenga en cuenta que los caracteres de escape pueden depender del sistema de construcción/shell.

  • Cucumber v6.0.0 y superior analiza el medio ambiente. Para maven puedes agregar -Dcucumber.filter.name="REGEXP".

Ver:

Desde Cucumber 6.x, puede ejecutar un escenario con los siguientes comandos CLI:

// Specify a scenario by its line number
$ cucumber-js features/my_feature.feature:3

// Specify a scenario by its name matching a regular expression
$ cucumber-js --name "topic 1"

Pero, estos son lentos y repetitivos. Puede ahorrar mucho tiempo usando una extensión de VSCode dedicada llamada Pepino-rápido. Esta extensión le permitirá ejecutar un escenario/función simplemente haciendo clic derecho sobre ellos. Puede salvarte de todo el ajetreo.

Llamaría al escenario por su número de línea.

Entonces, asumiendo que el segundo escenario comienza en la línea 5 en su archivo de características, podría ejecutar:

cucumber features/test.feature:5

¿Ha sido útil esta solución?