私のStruts2アクションクラスは、以下のコードを使用してセッションに正常にアクセスします
ActionContext.getContext().getSession().clear();
ただし、Junit を使用して Action クラスをテストしようとすると、NullPointer 例外が発生します。
StackOverflow で他の人が投稿したコメントのいくつかを確認しており、以下のコードを使用しています。
HttpServletRequest request;
HttpSession session;
@Before
public void setUp() throws Exception {
request = Mockito.mock(HttpServletRequest.class);
request.setAttribute("beanList", beanList);
request = Mockito.mock(HttpServletRequest.class);
Mockito.when(request.getSession()).thenReturn(session);
Map<String, Object> contextMap = new HashMap<String, Object>();
contextMap.put(StrutsStatics.HTTP_REQUEST, request);
ActionContext.setContext(new ActionContext(contextMap));
}
ただし、それでもヌル ポインター エラーがスローされます。システムはコンテキストを正常に取得できますが、セッションを取得しようとすると停止します。また、同じ目標を達成するためにいくつかの異なる方法を試しましたが、役に立ちませんでした。私が間違っていることは何ですか?