2010-02-08 30 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? (以防萬一我需要整合彈簧安全性) –