程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了我应该如何测试Servlet过滤器?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决我应该如何测试Servlet过滤器??

开发过程中遇到我应该如何测试Servlet过滤器?的问题如何解决?下面主要结合日常开发的经验,给出你关于我应该如何测试Servlet过滤器?的解决方法建议,希望对你解决我应该如何测试Servlet过滤器?有所启发或帮助;

您可以Filter在自己的网站上注册实例mockR_297_11845@vc

this.mockR_297_11845@vc = mockR_297_11845@vcBuilders.webAppContextSetup( context )
                              .addFilter(new CORSFilter(), "/*")
                              .build();

解决方法

无法弄清楚如何测试我的servlet过滤器

@Component
@Order( ordered.HIGHEST_PRECEDENCE )
class CORSFilter extends OncePerrequestFilter {
    private final Logger log = LoggerFactory.getLogger( CORSFilter.class );

    @Override
    protected void doFilterInternal(
            final httpServletrequest request,final httpServletResponse response,final FilterChain filterChain )
            throws ServletException,IOException {
        log.debug( "request: {}",request );
        response.setHeader( "Access-Control-Allow-Origin","*" );
        response.setHeader( "Access-Control-Allow-","POST,GET,PUT,OPTIONS,deletE" );
        response.setHeader( "Access-Control-Allow-Headers","content-type,x-auth-token,x-requested-with" );
        response.setHeader( "Access-Control-Expose-Headers","LOCATIOn" );
        response.seTintHeader( "Access-Control-Max-Age",3600 );
        filterChain.doFilter( request,response );
    }
}

这就是我尝试编写测试明智的方法

@RunWith( SpringJUnit4ClassRunner.class )
@WebAppConfiguration
@ComponentScan( "com.xenoterracide.rpf.infrastructure.http")
@SpringApplicationConfiguration( classes = { mockServletContext.class } )
public class TestHeaders {

    @Autowired
    private WebApplicationContext context;
    private mockR_297_11845@vc               mockR_297_11845@vc;

    @Before
    public void setup() {
        this.mockR_297_11845@vc = mockR_297_11845@vcBuilders.webAppContextSetup( context ).build();
    }

    @Test
    public void TESTCORS() throws Exception {
        this.mockR_297_11845@vc.perform( options( "/" ) )
                    .andExpect( status().is2xxsuccessful() )
                    .andExpect( header().String( "Access-Control-Allow-Origin",allOf( notNullValue(),instanceOf( String.class ) ) ) );
    }

}

这是我的测试错误

java.lang.AssertionError: Response header Access-Control-Allow-Origin
Expected: (not null and an instance of java.lang.String)
 but: not null was null

如何测试我的servlet过滤器是否正常运行?奖励积分,如果测试它们不需要加载完整的上下文,db和全部。

大佬总结

以上是大佬教程为你收集整理的我应该如何测试Servlet过滤器?全部内容,希望文章能够帮你解决我应该如何测试Servlet过滤器?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: