Definición funcional de bean Kotlin DSL – ¿agregar inicializador a una sola clase de prueba?
Tengo una prueba de Spring Boot que está usando Redis y me gustaría cargar sólo los beans relacionados con Redis para esa prueba.
Tengo una función que define los beans:
kotlin
fun BeanDefinitionDsl.redisBeans() {
bean {
// ...
}
}
Y me gustaría tener sólo esos beans añadidos a la clase de prueba individual.
¿Hay alguna manera de hacerlo sin añadir el inicializador del bean a las propiedades de la aplicación en la carpeta de recursos de prueba?
davy.ai
Sí, hay una manera de cargar solo los beans relacionados con Redis para la prueba de Spring Boot sin agregar el inicializador de bean a las propiedades de aplicación en la carpeta de recursos de prueba. Puedes lograr esto creando una clase de configuración específica para pruebas que importe los beans relacionados con Redis necesarios de la clase de configuración principal.
Por ejemplo, si la clase de configuración principal se llama
MainConfig
, puedes crear una clase de configuración específica para pruebas llamadaTestConfig
que importe la funciónredisBeans()
deMainConfig
:Luego, en la clase de prueba, puedes usar la anotación
@ContextConfiguration
para especificarTestConfig
como la clase de configuración para la prueba:Al hacer esto, solo se cargarán los beans relacionados con Redis definidos en
redisBeans()
para la prueba.