Hi Spring Boot team :-)

I gave a try to spring boot 4.0.0-M1 on one of our projects.

We are using spring-mvc but we are using WebTestClient to use the fluent API in integration tests.

After the upgrade, I started observing failures on integration tests.

I built a minimal application to reproduce the problem, here are the sources: https://github.com/trecloux/spring-boot-4.0.0-M1-integration-test

This application includes two identical tests, when launching both tests using IntelliJ or gradle, the second test is always failing.

First test logs extract

2025-07-27T22:46:35.039+02:00  INFO 95158 --- [    Test worker] o.s.boot.tomcat.TomcatWebServer          : Tomcat started on port 58520 (http) with context path '/'
...
2025-07-27T22:46:37.699+02:00  INFO 95158 --- [tomcat-shutdown] o.s.boot.tomcat.GracefulShutdown         : Graceful shutdown complete

Second test logs extract

2025-07-27T22:46:37.715+02:00  INFO 95158 --- [    Test worker] o.s.boot.tomcat.TomcatWebServer          : Tomcat started on port 58524 (http) with context path '/'
....
Connection refused: localhost/[0:0:0:0:0:0:0:1]:58520
org.springframework.web.reactive.function.client.WebClientRequestException: Connection refused: localhost/[0:0:0:0:0:0:0:1]:58520

It looks like the second test WebTestClient is binded to first test web server (port 58520 instead of 58524).

I checked that with version 3.5.4, the sample application's test are OK. Comparing logs, it looks like embedded tomcat is started only once with spring boot 3.5.4,

Comment From: bclozel

Probably linked to https://github.com/spring-projects/spring-framework/issues/35168