Nicht bekommen kann die Sitzung für Junit-Tests

Meine Struts2 Action-Klassen, verwenden Sie den folgenden code, um erfolgreich Zugriff auf die session

    ActionContext.getContext().getSession().clear();

Jedoch, wenn ich versuche, mit Junit zu testen, meine Action-Klassen bekomme ich eine NullPointer exception.

Ich habe die überprüfung einige der Kommentare, die andere auf StackOverflow und habe mit dem folgenden code:

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));
}

Jedoch noch einen Nullzeiger-Fehler aus. Das system ist in der Lage, erfolgreich zu finden, Holen Sie sich den Kontext, aber wenn es versucht, die session-es stirbt in mir. Ich habe auch versucht ein paar verschiedene Möglichkeiten, um zu erreichen das gleiche Ziel ohne Erfolg. Keine Ahnung, was ich falsch mache?

  • Mockito ist groß, aber Sie brauchen es nicht für diesen Fall. Die Sitzung ist nur eine Karte. Siehe meine Antwort unten für details. Auch Ihre NPE ist wahrscheinlich aufgrund der Tatsache, dass Sie nicht wirklich festlegen des Sitzungs-Karte in Ihrem ActionContext überall. Sie werden nur das hinzufügen der HttpServletRequest.
InformationsquelleAutor Mike | 2013-09-03
Schreibe einen Kommentar