JavaBoot2.5。SpringYML属性覆盖测试配置Bean
我有一个WebMvcTest测试。被测试的控制器需要一个bean来自动连线(我们称之为设置)。在本例中,bean是@ConditionProperties(从yml配置读取值)。因此,为了运行测试,我添加了一个@TestConfiguration静态类,其中声明了一个设置bean)。bean的值由应用程序覆盖。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中的属性,设置bean的值将被应用程序中的任何值覆盖。yml包含。如果这些属性在webmvctest注释中被覆盖,那么设置bean值将被这些属性覆盖。在上面的示例中,我希望设置bean具有first->;“a值”和第二个->;“另一个值”,但它有“设置值第一”和“设置值第二”
共 (0) 个答案