功能性 bean 定义 Kotlin DSL - 将初始值设定项添加到单个测试 class?
Functional bean definition Kotlin DSL - add initializer to single test class?
我有一个使用 Redis 的 Spring 启动测试,我只想加载 Redis 相关的
该测试的豆子。
我有一个定义 bean 的函数:
fun BeanDefinitionDsl.redisBeans() {
bean {
// ...
}
}
而且我只想将那些 bean 添加到单个测试中 class。
有没有办法在不向测试资源文件夹中的应用程序属性添加 bean 初始化程序的情况下这样做?
事实证明我可以进行正常的Junit测试(不是@SpringBootTest
)
并获取使用初始化程序构建的上下文,例如:
SpringApplicationBuilder()
.bannerMode(Mode.OFF)
.initializers(MyCustomInitializer())
.sources(DummyConfig::class.java)
.properties(
mapOf(
"spring.autoconfigure.exclude" to "..."
)
)
.web(WebApplicationType.NONE)
.build()
.run()
.getBean(MyBeanThatIWantToTest::class.java)
// ...
@EnableAutoConfiguration
@Configuration
class DummyConfig
我有一个使用 Redis 的 Spring 启动测试,我只想加载 Redis 相关的 该测试的豆子。
我有一个定义 bean 的函数:
fun BeanDefinitionDsl.redisBeans() {
bean {
// ...
}
}
而且我只想将那些 bean 添加到单个测试中 class。
有没有办法在不向测试资源文件夹中的应用程序属性添加 bean 初始化程序的情况下这样做?
事实证明我可以进行正常的Junit测试(不是@SpringBootTest
)
并获取使用初始化程序构建的上下文,例如:
SpringApplicationBuilder()
.bannerMode(Mode.OFF)
.initializers(MyCustomInitializer())
.sources(DummyConfig::class.java)
.properties(
mapOf(
"spring.autoconfigure.exclude" to "..."
)
)
.web(WebApplicationType.NONE)
.build()
.run()
.getBean(MyBeanThatIWantToTest::class.java)
// ...
@EnableAutoConfiguration
@Configuration
class DummyConfig