Daria Pydorenko
Tengo dos archivos de características: first/first.feature
y second/second.feature
. Además, tengo archivos de definiciones de dos pasos, que están en package1
y en package2
respectivamente.
Entonces puedo ejecutar la primera (o segunda) prueba de características con glue
y features
configuración.
Pero si quiero ejecutar ambas funciones obtengo cucumber.runtime.DuplicateStepDefinitionException
.
¿Puedo crear una configuración que me permita ejecutar todas mis pruebas de funciones? Tal vez con proporcionar glue
–feature
pares (¿o mapa?).
Por cierto yo uso esto Gradle-pepino-plugin.
Así funciona Pepino; todas las definiciones de pasos se cargarán y no pueden contener duplicados (o de lo contrario, ¿cómo sabría Cucumber cuál usar?). Vincular las definiciones de sus pasos a una característica en particular, en realidad se considera un antipatrón: https://docs.cucumber.io/guides/anti-patterns/#feature-coupled-step-definitions
Si los pasos son de hecho los mismos, considere fusionar sus definiciones de pasos. Si de hecho deberían ser diferentes, considere usar un lenguaje diferente para cada paso.
Si tiene un motivo para ejecutar diferentes funciones con diferentes pasos (por ejemplo, uno en una interfaz de usuario, otro en una API), puede especificar diferentes ejecutores con diferentes configuraciones y ejecutar todos los ejecutores para ejecutar todas las pruebas.
-
Para cualquiera que pueda tener este problema: ya usé dos ejecutores diferentes pero recibí el mismo error cada vez que comencé una prueba directamente desde el archivo de funciones. Yo uso IntelliJ. Resultó que el pegamento en la configuración de ejecución estaba vacío e IntelliJ no usaría esas definiciones de pasos en el mismo paquete, sino que buscaría todas las definiciones de pasos desde classpath hacia abajo.
– saab
19 de agosto de 2021 a las 17:58
-
Tenga en cuenta que puede especificar el pegamento en la Configuración de ejecución en IntelliJ
– Marit
16 sep 2021 a las 18:09