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?
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:
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.