@SpringBootTest(properties = {"spring.profiles.active=build"}, webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)` @TestPropertySource(value = {"classpath:application-test.properties"}) @RunWith(SpringJUnit4ClassRunner.class) @EnableAutoConfigurationTengo las anotaciones que se muestran en mi prueba de integración. y la clase de entidad es como a continuación
@Container(containerName = "Statuses-${spring.profiles.active}") public class MessageStatus implements SerializableEl nombre del contenedor se crea correctamente como Statuses-local en el entorno local y cuando se ejecuta la aplicación Spring Boot, pero esto no puede resolver el EL en el nombre del contenedor de cosmos DB cuando se ejecutan las pruebas. En su lugar, el contenedor se crea como Estados-${spring.profile.active}.
Ayuda, necesito esto para ejecutar pruebas usando el perfil de compilación y el nombre del contenedor resuelve correctamente el EL en él cuando se ejecuta la aplicación SpringBoot, PERO cuando se ejecutan mis pruebas de integración, esto se está comportando mal. ¿Algo que me esté perdiendo?
ACTUALIZACIÓN: tengo
@SpringBootApplication DependsOn("expressionResolver")en la clase de aplicación principal
Además, probé otra alternativa de obtener el nombre del contenedor de una función en un bean, pero esto nuevamente es intentar crear el nombre del contenedor como el código para resolver el nombre...
@Container(containerName = "#{@MyBean.getMessageStatusContainerName()}") public class MessageStatus implements SerializableY esto, nuevamente, funciona bien cuando se ejecuta la aplicación SpringBoot, pero NO cuando se intenta ejecutar pruebas.
había incluido la anotación
@ContextConfiguration(classes = {TestContextConfig.class, MyClass1.class, MyClass2.class}) En la prueba de integración, mientras que ya tengo @EnableAutoConfiguration , y esa configuración "no estaba feliz" al crear el contexto de la aplicación de prueba, de modo que faltarían algunos beans necesarios y la resolución de EL no funcionaba.
SOLUCIÓN: Se eliminó la anotación: @ContextConfiguration(classes = ¡y todo funcionó como el fuego!