Java @WebFilter没有';使用MockMvc测试控制器时不起作用

Java @WebFilter没有';使用MockMvc测试控制器时不起作用,java,spring-boot-test,Java,Spring Boot Test,我在MockMvc中添加了一些过滤器,用于junit测试。其中一个过滤器具有@WebFilter注释。它的目的是拦截像“/third/*”这样的URL。然而,当我尝试访问与上述模式不匹配的URL时,@WebFilter注释不起作用 Thirdapfilter @组件 @顺序(值=4) @ServletComponentScan(basePackages={“com.oppo.it.teambition.filter”}) @WebFilter(urlPatterns={/third/*“},fi

我在MockMvc中添加了一些过滤器,用于junit测试。其中一个过滤器具有@WebFilter注释。它的目的是拦截像“/third/*”这样的URL。然而,当我尝试访问与上述模式不匹配的URL时,@WebFilter注释不起作用

Thirdapfilter

@组件
@顺序(值=4)
@ServletComponentScan(basePackages={“com.oppo.it.teambition.filter”})
@WebFilter(urlPatterns={/third/*“},filterName=“thirdapfilter”)
@配置属性(前缀=“白名单”)
@EnableConfigurationProperties
公共类thirdapfilter实现过滤器{
@自动连线
私人用户服务;
@自动连线
专用配置中心;
私有地图ip;
@值(${teambition.admin}”)
私人帐户;
公共无效setIp(映射ip){
this.ip=ip;
}
@凌驾
public void doFilter(ServletRequest ServletRequest、ServletResponse ServletResponse、FilterChain链)
抛出IOException、ServletException{
HttpServletRequest=(HttpServletRequest)servletRequest;
HttpServletResponse=(HttpServletResponse)servletResponse;
String requestAddress=request.getHeader(“x-forwarded-host”);
// 仅接受来自白名单知识产权的请求
// 来自网关的请求
列表网关=configCenter.getWhitelistIpGateway()!=null?configCenter.getWhitelistIpGateway():ip.get(“网关”);
如果(!gateways.contains(requestAddress)){
response.sendError(HttpStatus.FORBIDDEN.value(),”访问者受限");
返回;
}
字符串appTag=request.getHeader(“userId”);
字符串adminToken=userService.getUserToken(admincount,“@oppo.com”);
setAttribute(“appTag”,appTag);
setAttribute(“accessToken”,adminToken);
setAttribute(“adminToken”,adminToken);
doFilter(servletRequest,servletResponse);
}
@凌驾
public void init(FilterConfig FilterConfig)抛出ServletException{
}
@凌驾
公共空间销毁(){
}
}
MockMvc

@Before
public void setUp() throws Exception {
    mvc = MockMvcBuilders.webAppContextSetup(wac)
        .addFilter(advanceFilter)
        .addFilter(thirdAppFilter)
        .addFilter(idempotenceFilter)
        .addFilter(webhookFilter)
        .build();
}