gpt4 book ai didi

java - 模拟 HttpServletResponse 并将其传递给 ServletActionContext - 并获取响应对象

转载 作者:太空宇宙 更新时间:2023-11-04 14:27:05 25 4
gpt4 key购买 nike

我有以下代码。

    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()) 在设置时打印 null,而 response 不为 null。

如何获取响应对象?

Mockito、Struts2、JUnit

最佳答案

好的。我有一个解决方法。对于其他人的帮助...

我检查了getResponse()的代码

public static HttpServletResponse getResponse() {
return (HttpServletResponse) ActionContext.getContext().get(HTTP_RESPONSE);
}

所以我已经将模拟的 context 对象传递给 ServletActionContext。因此,在传递它之前,我会像这样 mock 上下文调用。

actionContext = mock(ActionContext.class);
when(actionContext.get(org.apache.struts2.StrutsStatics.HTTP_RESPONSE)).thenReturn(response);

现在可以了!

关于java - 模拟 HttpServletResponse 并将其传递给 ServletActionContext - 并获取响应对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26554415/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com