有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案