java - 启动 2.5。Spring yml 属性覆盖测试配置 Bean
问题描述
我有一个 WebMvcTest 测试。被测试的控制器需要一个 bean 来自动装配(我们称之为设置)。在这种情况下,bean 是一个 @ConfigurationProperties(从 yml 配置中读取值)。因此,为了运行测试,我添加了一个声明了 Settings bean 的 @TestConfiguration 静态类)。bean 的值被 application.yml 文件(或我放在 WebMvcTest 属性值上的任何属性)覆盖
@WebMvcTest(value = AController.class, properties = {
"options.first.enabled=",
"options.second.enabled-web-file-upload=settings_value_second"
})
public class ControllerIT{
@TestConfiguration
static class ITConfig{
@Bean
public Settings settingsBean(){
return Settings.builder()
.first("a value").second("another value")
.build();
}
}
如果没有 webmvctest 中的属性,Settings bean 的值将被 application.yml 包含的任何值覆盖。如果属性在 webmvctest 注释中被覆盖,那么设置 bean 值将被那些覆盖。在上面的示例中,我希望设置 bean 具有第一个 ->“一个值”和第二个 ->“另一个值”,但它具有“settings_value_first”和“settings_value_second”
解决方案
推荐阅读
- html - 至少将布局设置为视口高度
- c# - ApiController 无法使用 404 预期
- mqtt - 节点红色。来自 mqtt 代理(mosca)的溢出/中断消息
- notepad++ - 如何在记事本++中用双引号(“”)替换多个关键字
- angular - 除非用户使用 capslock 和 shift 键,否则使用 css 自动大写必填字段时,Angular 7 反应式表单始终无效
- javascript - 条件 HTML 元素外的点击检测 - Angular 6
- git - 错误:无法生成钩子/预接收:没有这样的文件或目录,但服务器端 git-repository 中存在钩子/预接收
- .net - 模型中的表单验证
- gcc - 始终使用 Yocto 中的 DEBUG_FLAGS
- javascript - 尝试在图像加载到文件夹下方时淡入图像