Before migrating to Spring Boot 2.1, we had a couple of controller tests in our services utilizing @WebMvcTest
in combination with @AutoConfigureMockMvc
Yes, rather than working around the fact the flag is deprecated, you should embrace the fact that this is going in that direction going forward.
As of Spring Boot 2.1, if you have Spring Security, your tests will be secured using your custom configuration. What is the actual problem with that?
If you don't want to authenticate for certain tests, just use Spring Security's test infrastructure and add @WithMockUser
.
Encountered the same scenario and what helped was using the below annotations instead of @WebMvcTest
. In this case, @WithMockUser
did not help.
@WebAppConfiguration
@Import({MockMvcAutoConfiguration.class})
@EnableConfigurationProperties({ResourceProperties.class, WebMvcProperties.class})
Classes that existed in controllers
/ value
of @WebMvcTest
goes into value
of @Import
annotation.
Source: https://github.com/spring-projects/spring-boot/issues/14227#issuecomment-688824627