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 c21e343bc05..7d428d42da1 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 @@ -25,6 +25,7 @@ import java.util.function.Consumer; import org.springframework.beans.BeanUtils; import org.springframework.boot.ApplicationContextFactory; +import org.springframework.boot.Banner; import org.springframework.boot.ConfigurableBootstrapContext; import org.springframework.boot.SpringApplication; import org.springframework.boot.SpringApplication.AbandonedRunException; @@ -195,6 +196,9 @@ public class SpringBootContextLoader extends AbstractContextLoader implements Ao } application.setApplicationContextFactory( (webApplicationType) -> getApplicationContextFactory(mergedConfig, webApplicationType)); + if (mergedConfig.getParent() != null) { + application.setBannerMode(Banner.Mode.OFF); + } application.setInitializers(initializers); ConfigurableEnvironment environment = getEnvironment(); if (environment != null) { diff --git a/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/context/SpringBootTestContextHierarchyTests.java b/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/context/SpringBootTestContextHierarchyTests.java index ffcc9dcf278..072be8eaeb8 100644 --- a/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/context/SpringBootTestContextHierarchyTests.java +++ b/spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/context/SpringBootTestContextHierarchyTests.java @@ -17,14 +17,19 @@ package org.springframework.boot.test.context; import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; import org.springframework.boot.test.context.SpringBootTestContextHierarchyTests.ChildConfiguration; import org.springframework.boot.test.context.SpringBootTestContextHierarchyTests.ParentConfiguration; +import org.springframework.boot.test.system.CapturedOutput; +import org.springframework.boot.test.system.OutputCaptureExtension; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.ContextHierarchy; +import static org.assertj.core.api.Assertions.assertThat; + /** * Tests for {@link SpringBootTest @SpringBootTest} and * {@link ContextHierarchy @ContextHierarchy}. @@ -34,11 +39,12 @@ import org.springframework.test.context.ContextHierarchy; @SpringBootTest @ContextHierarchy({ @ContextConfiguration(classes = ParentConfiguration.class), @ContextConfiguration(classes = ChildConfiguration.class) }) +@ExtendWith(OutputCaptureExtension.class) class SpringBootTestContextHierarchyTests { @Test - void contextLoads() { - + void contextLoads(CapturedOutput capturedOutput) { + assertThat(capturedOutput).containsOnlyOnce(":: Spring Boot ::"); } @Configuration(proxyBeanMethods = false)