我有以下代码。
HttpServletResponse response = mock(HttpServletResponse.class);
System.out.println("Response: " + response); // Prints "Mock for HttpServletResponse, hashCode: 2051435028"
ServletActionContext.setResponse(response);
System.out.println("Get Response: " + ServletActionContext.getResponse()); // Prints null.
设置时, ServletActionContext.getResponse())
打印为空,而response
不为空。
如何获取响应对象?
Mockito,Struts2,JUnit
答案 0 :(得分:0)
好。我有一个解决方法。对于其他人的帮助...
我检查了getResponse()
public static HttpServletResponse getResponse() {
return (HttpServletResponse) ActionContext.getContext().get(HTTP_RESPONSE);
}
所以我已经将一个模拟context
对象传递给ServletActionContext
。所以在传递它之前,我正在模仿像这样的上下文调用。
actionContext = mock(ActionContext.class);
when(actionContext.get(org.apache.struts2.StrutsStatics.HTTP_RESPONSE)).thenReturn(response);
现在有效!