diff --git a/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/SpringBootContextLoader.java b/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/SpringBootContextLoader.java index 267bcb90e8..69b1ec9d27 100644 --- a/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/SpringBootContextLoader.java +++ b/spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/SpringBootContextLoader.java @@ -105,7 +105,7 @@ public class SpringBootContextLoader extends AbstractContextLoader { application.setMainApplicationClass(config.getTestClass()); application.addPrimarySources(Arrays.asList(configClasses)); application.getSources().addAll(Arrays.asList(configLocations)); - ConfigurableEnvironment environment = new StandardEnvironment(); + ConfigurableEnvironment environment = getEnvironment(); if (!ObjectUtils.isEmpty(config.getActiveProfiles())) { setActiveProfiles(environment, config.getActiveProfiles()); } @@ -148,6 +148,15 @@ public class SpringBootContextLoader extends AbstractContextLoader { return new SpringApplication(); } + /** + * Builds a new {@link ConfigurableEnvironment} instance. You can override this method + * to return something other than {@link StandardEnvironment} if necessary. + * @return a {@link ConfigurableEnvironment} instance + */ + protected ConfigurableEnvironment getEnvironment() { + return new StandardEnvironment(); + } + private void setActiveProfiles(ConfigurableEnvironment environment, String[] profiles) { TestPropertyValues