From 4375e59a28426de4dac18a5b5d4f474e8656699a Mon Sep 17 00:00:00 2001 From: Sam Brannen <104798+sbrannen@users.noreply.github.com> Date: Thu, 19 Jun 2025 11:57:56 +0200 Subject: [PATCH] Polish WebTestClient ApplicationContext tests Prerequisite for gh-35042 --- .../samples/bind/ApplicationContextTests.java | 40 +++++++------------ 1 file changed, 15 insertions(+), 25 deletions(-) diff --git a/spring-test/src/test/java/org/springframework/test/web/reactive/server/samples/bind/ApplicationContextTests.java b/spring-test/src/test/java/org/springframework/test/web/reactive/server/samples/bind/ApplicationContextTests.java index 287c266925d..6b629af00ad 100644 --- a/spring-test/src/test/java/org/springframework/test/web/reactive/server/samples/bind/ApplicationContextTests.java +++ b/spring-test/src/test/java/org/springframework/test/web/reactive/server/samples/bind/ApplicationContextTests.java @@ -16,12 +16,13 @@ package org.springframework.test.web.reactive.server.samples.bind; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; -import org.springframework.context.annotation.AnnotationConfigApplicationContext; -import org.springframework.context.annotation.Bean; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Configuration; +import org.springframework.context.annotation.Import; +import org.springframework.test.context.junit.jupiter.SpringJUnitConfig; import org.springframework.test.web.reactive.server.WebTestClient; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -34,24 +35,18 @@ import org.springframework.web.reactive.config.EnableWebFlux; * @author Rossen Stoyanchev * @since 5.0 */ -public class ApplicationContextTests { +@SpringJUnitConfig +class ApplicationContextTests { - private WebTestClient client; + @Autowired + ApplicationContext context; - @BeforeEach - public void setUp() throws Exception { - - AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(); - context.register(WebConfig.class); - context.refresh(); - - this.client = WebTestClient.bindToApplicationContext(context).build(); - } - @Test - public void test() throws Exception { - this.client.get().uri("/test") + void buildWithDefaults() { + var client = WebTestClient.bindToApplicationContext(context).build(); + + client.get().uri("/test") .exchange() .expectStatus().isOk() .expectBody(String.class).isEqualTo("It works!"); @@ -60,20 +55,15 @@ public class ApplicationContextTests { @Configuration @EnableWebFlux - static class WebConfig { - - @Bean - public TestController controller() { - return new TestController(); - } - + @Import(TestController.class) + static class WebFluxConfig { } @RestController static class TestController { @GetMapping("/test") - public String handle() { + String test() { return "It works!"; } }