2017-05-15 29 views
-1

这里是我的代码,如何嘲笑将ServletRequest类转换为HttpServletRequest?

public void doFilter(ServletRequest req, ServletResponse res, FilterChain filterChain) 
     throws IOException, ServletException { 
    HttpServletRequest request = (HttpServletRequest) req; 
    HttpServletResponse response = (HttpServletResponse) res; 
    HttpSession session = request.getSession(false); 
} 

请求使用为空。如何嘲笑这条线?

+0

EHM,你是什么意思 '假'?嘲笑实例是测试代码的一部分,而不是运行代码。 你需要传递实际的实例化对象。 – Stultuske

+0

你使用什么模拟框架?我想,无论是在测试代码中创建一个真实或虚假的实例,并在调用'doFilter'方法时通过? –

+0

@SabirKhan你必须通过实例如何我会通过你可以给我链接或任何适当的例子? –

回答

0

您应该创建的HttpServletRequestHttpServletResponse嘲笑,就像下面:

@Test 
public void testDoFilter() throws Exception { 
    HttpServletRequest request = mock(HttpServletRequest.class); 
    HttpServletResponse response = mock(HttpServletResponse.class); 
    FilterChain filterChain = mock(FilterChain.class); 

    Handler handler = new Handler(); 
    handler.doFilter(request, response, filterChain); 

    verify(request).getSession(false); 
    // other assertions 
}