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.

La etiqueta CucumberOptions se ignora cuando se utiliza @Suite Junit.

@Suite
@SuiteDisplayName(“NOMBRE”)
@IncludeEngines(“cucumber”)
@SelectClasspathResource(“cucumber/tests”)
@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = “cucumber.tests”)
@CucumberOptions(tags = “not @IGNORE”)
public class RunCucumberTests {}

Esta fue mi configuración anterior donde la etiqueta no funciona.

@IncludeEngines(“cucumber”)
@SelectClasspathResource(“cucumber/tests”)
@ConfigurationParameter(key = GLUE_PROPERTY_NAME, value = “cucumber.tests”)
@CucumberOptions(tags = “not @IGNORE”)
@RunWith(Cucumber.class)
public class RunCucumberTests {}

Después de cambiar esta configuración, funciona. ¿Alguien sabe por qué? ¿Cómo puedo usar suite y CucumberOptions juntos?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    La razón por la cual la etiqueta no funcionaba en la configuración anterior es que la clase no estaba anotada con @RunWith(Cucumber.class), lo cual le indica a JUnit que ejecute las características de Cucumber.

    Para utilizar @Suite y @CucumberOptions juntos, puedes definir una clase de suite de pruebas que incluya la clase de ejecución de Cucumber y cualquier otra clase de prueba de JUnit que desees ejecutar. Por ejemplo:

    @RunWith(Suite.class)
    @SuiteDisplayName("Mi Suite de Pruebas")
    @IncludeEngines("cucumber")
    @SelectClasspathResource("cucumber/tests")
    @Suite.SuiteClasses({RunCucumberTests.class, MyOtherTest.class})
    @CucumberOptions(tags = "not @IGNORE")
    public class MyTestSuite {}
    

    Esta suite de pruebas ejecutará tanto las pruebas de Cucumber definidas en RunCucumberTests como las pruebas de JUnit definidas en MyOtherTest, aplicando el filtro de etiquetas de CucumberOptions a las pruebas de Cucumber.

Comments are closed.