Split up JUnit 5 OutputCapture class
Split the JUnit 5 `OutputCapture` class into separate `OutputExtension` and `CapturedOutput` classes. The JUnit 5 callback methods are now contained only in the `OutputExtension` class so no longer pollute the public API that users will interact with. The `CapturedOutput` class has also been updated to capture System.err and System.out separately to allow distinct assertions if required. Closes gh-17029
This commit is contained in:
@@ -29,7 +29,8 @@ import org.springframework.boot.actuate.metrics.export.prometheus.PrometheusScra
|
||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
|
||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||
import org.springframework.boot.test.extension.OutputCapture;
|
||||
import org.springframework.boot.test.extension.CapturedOutput;
|
||||
import org.springframework.boot.test.extension.OutputExtension;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.context.annotation.Import;
|
||||
@@ -45,7 +46,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
public class PrometheusMetricsExportAutoConfigurationTests {
|
||||
|
||||
@RegisterExtension
|
||||
public OutputCapture output = new OutputCapture();
|
||||
CapturedOutput output = OutputExtension.capture();
|
||||
|
||||
private final ApplicationContextRunner contextRunner = new ApplicationContextRunner()
|
||||
.withConfiguration(AutoConfigurations
|
||||
|
||||
@@ -29,7 +29,8 @@ import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
import org.springframework.boot.autoconfigure.web.client.RestTemplateAutoConfiguration;
|
||||
import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
|
||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||
import org.springframework.boot.test.extension.OutputCapture;
|
||||
import org.springframework.boot.test.extension.CapturedOutput;
|
||||
import org.springframework.boot.test.extension.OutputExtension;
|
||||
import org.springframework.boot.web.client.RestTemplateBuilder;
|
||||
import org.springframework.http.HttpStatus;
|
||||
import org.springframework.test.web.client.MockRestServiceServer;
|
||||
@@ -54,7 +55,7 @@ public class RestTemplateMetricsConfigurationTests {
|
||||
HttpClientMetricsAutoConfiguration.class));
|
||||
|
||||
@RegisterExtension
|
||||
public OutputCapture output = new OutputCapture();
|
||||
CapturedOutput output = OutputExtension.capture();
|
||||
|
||||
@Test
|
||||
public void restTemplateCreatedWithBuilderIsInstrumented() {
|
||||
|
||||
@@ -31,7 +31,8 @@ import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
import org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientAutoConfiguration;
|
||||
import org.springframework.boot.test.context.assertj.AssertableApplicationContext;
|
||||
import org.springframework.boot.test.context.runner.ApplicationContextRunner;
|
||||
import org.springframework.boot.test.extension.OutputCapture;
|
||||
import org.springframework.boot.test.extension.CapturedOutput;
|
||||
import org.springframework.boot.test.extension.OutputExtension;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.http.HttpStatus;
|
||||
@@ -58,7 +59,7 @@ public class WebClientMetricsConfigurationTests {
|
||||
HttpClientMetricsAutoConfiguration.class));
|
||||
|
||||
@RegisterExtension
|
||||
public OutputCapture output = new OutputCapture();
|
||||
CapturedOutput output = OutputExtension.capture();
|
||||
|
||||
@Test
|
||||
public void webClientCreatedWithBuilderIsInstrumented() {
|
||||
|
||||
@@ -29,7 +29,8 @@ import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
import org.springframework.boot.autoconfigure.web.reactive.WebFluxAutoConfiguration;
|
||||
import org.springframework.boot.test.context.assertj.AssertableReactiveWebApplicationContext;
|
||||
import org.springframework.boot.test.context.runner.ReactiveWebApplicationContextRunner;
|
||||
import org.springframework.boot.test.extension.OutputCapture;
|
||||
import org.springframework.boot.test.extension.CapturedOutput;
|
||||
import org.springframework.boot.test.extension.OutputExtension;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
import org.springframework.test.web.reactive.server.WebTestClient;
|
||||
@@ -50,7 +51,7 @@ public class WebFluxMetricsAutoConfigurationTests {
|
||||
AutoConfigurations.of(WebFluxMetricsAutoConfiguration.class));
|
||||
|
||||
@RegisterExtension
|
||||
public OutputCapture output = new OutputCapture();
|
||||
CapturedOutput output = OutputExtension.capture();
|
||||
|
||||
@Test
|
||||
public void shouldProvideWebFluxMetricsBeans() {
|
||||
|
||||
@@ -42,7 +42,8 @@ import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration;
|
||||
import org.springframework.boot.test.context.assertj.AssertableWebApplicationContext;
|
||||
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
|
||||
import org.springframework.boot.test.extension.OutputCapture;
|
||||
import org.springframework.boot.test.extension.CapturedOutput;
|
||||
import org.springframework.boot.test.extension.OutputExtension;
|
||||
import org.springframework.boot.web.servlet.FilterRegistrationBean;
|
||||
import org.springframework.context.annotation.Bean;
|
||||
import org.springframework.context.annotation.Configuration;
|
||||
@@ -69,7 +70,7 @@ public class WebMvcMetricsAutoConfigurationTests {
|
||||
AutoConfigurations.of(WebMvcMetricsAutoConfiguration.class));
|
||||
|
||||
@RegisterExtension
|
||||
public OutputCapture output = new OutputCapture();
|
||||
CapturedOutput output = OutputExtension.capture();
|
||||
|
||||
@Test
|
||||
public void backsOffWhenMeterRegistryIsMissing() {
|
||||
|
||||
@@ -27,7 +27,8 @@ import org.springframework.boot.actuate.autoconfigure.web.servlet.ServletManagem
|
||||
import org.springframework.boot.autoconfigure.AutoConfigurations;
|
||||
import org.springframework.boot.autoconfigure.web.servlet.ServletWebServerFactoryAutoConfiguration;
|
||||
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
|
||||
import org.springframework.boot.test.extension.OutputCapture;
|
||||
import org.springframework.boot.test.extension.CapturedOutput;
|
||||
import org.springframework.boot.test.extension.OutputExtension;
|
||||
import org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext;
|
||||
|
||||
import static org.assertj.core.api.Assertions.assertThat;
|
||||
@@ -41,7 +42,7 @@ import static org.assertj.core.api.Assertions.assertThat;
|
||||
public class ManagementContextAutoConfigurationTests {
|
||||
|
||||
@RegisterExtension
|
||||
public OutputCapture output = new OutputCapture();
|
||||
CapturedOutput output = OutputExtension.capture();
|
||||
|
||||
@Test
|
||||
public void childManagementContextShouldStartForEmbeddedServer() {
|
||||
|
||||
Reference in New Issue
Block a user