2010-02-08 29 views
1

我试图与春季安全一起使用PageTester但我遇到了这个异常:挂毯5:contributeRequestHandler在单元测试中只有

java.lang.RuntimeException: java.io.IOException: Can only process HttpServletRequest

我觉得这是一个解决方案(如下),但有谁知道我可以如何使用以下贡献,以便它只在测试期间被调用?

public static void contributeRequestHandler(OrderedConfiguration<RequestFilter> config, final RequestGlobals requestGlobals) { 
    RequestFilter filter = new RequestFilter() { 
    public boolean service(Request request, Response response, 
    RequestHandler handler) throws IOException { 
    requestGlobals.storeServletRequestResponse(mock(HttpServletRequest.class), mock(HttpServletResponse.class)); 
    return handler.service(request, response); 
    } 
    }; 
    config.add("EnsureNonNullHttpRequestAndResponse", filter, "before:*"); 
} 

回答

2

您可以在PageTester constructor中提供额外的模块。你使用的是哪个版本?

+0

啊,是的,当然 - 我应该更仔细地看看文档:) – ishmeister

+0

没有问题,你的解决方案模拟http请求春季安全工作,因为你desribed? (以防万一我需要整合弹簧安全性) –