Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

210
Vistas
Cómo activar el perfil de arranque de primavera con pepino

Estoy buscando una buena manera de activar un perfil de resorte para mis pruebas de pepino. Las pruebas de pepino necesitan usar una versión stub de un servicio que está marcado con:

 @Profile("test") @Component class FooServiceStub extends FooService {...}

El servicio regular se ve así:

 @Profile("prod") @Component class FooService {...}

Mis requisitos:

  • Ejecutar pruebas de pepino con mvn: $ mvn test
  • Ejecutar pruebas de pepino en IDE
  • Ejecute pruebas de pepino en el servidor de compilación
  • No es necesario utilizar el argumento -Dspring.profiles.active=...

Fuentes que he encontrado pero no resuelven mi problema:

  • http://www.baeldung.com/cucumber-spring-integration (usando el cargador @ContextConfiguration con SpringApplicationContextLoader.class que no está presente en la última versión de Spring Boot, 1.5.2.RELEASE en el momento de escribir este artículo).
  • establecer programáticamente el perfil de Spring en Cucumber (jugar con la propiedad del sistema)
about 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Actualización de octubre de 2021:

La siguiente respuesta está desactualizada y ya no es la respuesta aceptada. ¡Marque la respuesta aceptada real en su lugar!


Respuesta original:

Resolví este problema con una anotación que puse en mi clase FeatureStep.

La anotación:

Tenga en cuenta los @ActiveProfiles en él.

 import java.lang.annotation.*; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.ActiveProfiles; import org.springframework.test.context.ContextConfiguration; @Target(ElementType.TYPE) @Retention(RetentionPolicy.RUNTIME) @ContextConfiguration @ActiveProfiles("test") @SpringBootTest( webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT, classes = FeatureTestConfiguration.class) public @interface FeatureFileSteps { }

La clase de configuración es muy básica:

 @Configuration @Import(FooApplication.class) public class FeatureTestConfiguration { }

Usando la anotación:

Agregar la anotación a los pasos de la función:

 @FeatureFileSteps public class FooFeatureSteps { @Given(...) @When(...) @Then(...) }

Ahora, cuando ejecuto las pruebas de características de Cucumber, ya sea desde mi IDE, desde la línea de comando con maven o en el servidor de compilación, mi prueba está usando FooServiceSTub y mis pruebas pasan.

about 4 years ago · Santiago Trujillo Denunciar

0

En la versión de pepino más reciente ( 6.11.0 ), necesita una clase con configuración de resorte y debe anotar esa, no la definición de pasos

 @ActiveProfiles("test") @CucumberContextConfiguration @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT) public class CucumberSpringConfiguration { }
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda