Skip to content

Commit 0c8ae65

Browse files
committed
Switch of the banner when SpringBootTest runs an app with a parent
Closes gh-33079
1 parent acb5491 commit 0c8ae65

File tree

2 files changed

+12
-2
lines changed

2 files changed

+12
-2
lines changed

spring-boot-project/spring-boot-test/src/main/java/org/springframework/boot/test/context/SpringBootContextLoader.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323

2424
import org.springframework.beans.BeanUtils;
2525
import org.springframework.boot.ApplicationContextFactory;
26+
import org.springframework.boot.Banner.Mode;
2627
import org.springframework.boot.DefaultPropertiesPropertySource;
2728
import org.springframework.boot.SpringApplication;
2829
import org.springframework.boot.WebApplicationType;
@@ -129,6 +130,9 @@ else if (type == WebApplicationType.SERVLET) {
129130
}
130131
return ApplicationContextFactory.DEFAULT.create(type);
131132
});
133+
if (config.getParent() != null) {
134+
application.setBannerMode(Mode.OFF);
135+
}
132136
application.setInitializers(initializers);
133137
boolean customEnvironent = ReflectionUtils.findMethod(getClass(), "getEnvironment")
134138
.getDeclaringClass() != SpringBootContextLoader.class;

spring-boot-project/spring-boot-test/src/test/java/org/springframework/boot/test/context/SpringBootTestContextHierarchyTests.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,19 @@
1717
package org.springframework.boot.test.context;
1818

1919
import org.junit.jupiter.api.Test;
20+
import org.junit.jupiter.api.extension.ExtendWith;
2021

2122
import org.springframework.boot.test.context.SpringBootTestContextHierarchyTests.ChildConfiguration;
2223
import org.springframework.boot.test.context.SpringBootTestContextHierarchyTests.ParentConfiguration;
24+
import org.springframework.boot.test.system.CapturedOutput;
25+
import org.springframework.boot.test.system.OutputCaptureExtension;
2326
import org.springframework.context.annotation.Bean;
2427
import org.springframework.context.annotation.Configuration;
2528
import org.springframework.test.context.ContextConfiguration;
2629
import org.springframework.test.context.ContextHierarchy;
2730

31+
import static org.assertj.core.api.Assertions.assertThat;
32+
2833
/**
2934
* Tests for {@link SpringBootTest @SpringBootTest} and
3035
* {@link ContextHierarchy @ContextHierarchy}.
@@ -34,11 +39,12 @@
3439
@SpringBootTest
3540
@ContextHierarchy({ @ContextConfiguration(classes = ParentConfiguration.class),
3641
@ContextConfiguration(classes = ChildConfiguration.class) })
42+
@ExtendWith(OutputCaptureExtension.class)
3743
class SpringBootTestContextHierarchyTests {
3844

3945
@Test
40-
void contextLoads() {
41-
46+
void contextLoads(CapturedOutput capturedOutput) {
47+
assertThat(capturedOutput).containsOnlyOnce(":: Spring Boot ::");
4248
}
4349

4450
@Configuration(proxyBeanMethods = false)

0 commit comments

Comments
 (0)