作者:cui115588 | 来源:互联网 | 2022-11-29 10:23
在迁移到Spring Boot 2.1之前,我们在服务中使用了几个控制器测试,@WebMvcTest
并结合使用@AutoConfigureMockMvc
:
@WebMvcTest(SomeController.class)
@AutoConfigureMockMvc(secure = false)
public class SomeControllerTests { ... }
这导致Spring Security配置被禁用,您可以在不模拟OAuth/JWT的情况下运行MVC测试.
在Spring Boot 2.1中,该secured
属性已弃用,发行说明中提到了该属性
[...] @WebMvcTest查找WebSecurityConfigurer bean [...].
为了避免我们的弃用secured
属性和加载,WebSecurityConfigurer
我们将测试重写为:
@WebMvcTest(
value = SomeController.class,
excludeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = WebSecurityConfigurer.class),
excludeAutoCOnfiguration= MockMvcSecurityAutoConfiguration.class)
public class SomeControllerTests { ... }
问题是:在Spring Boot 2.1中有更紧凑的方法来定义这样的测试吗?