2016-05-26 9 views
0

Ich versuche, meine Feder Anwendung abdecken und ich habe einige Probleme gefunden. Der wichtigste ist es, eine neue HttpServletRequest zu erstellen und Sitzung zu setzen, um Attribute zu erhalten und zu setzen (um alle Zeilen meines Codes abzudecken). Diese Tests laufen automatisch mit JUnit werfend von Maven, dann habe ich keine Antwort angefordert.Create HttpServletRequest mit Sitzung

Ich bin für diese Suche, und ich fand die Mockito API, die uns einen Weg bringt HttpServletRequest Objekte zu erstellen, aber ich auf dieses Objekt eine Sitzung nicht festlegen:

HttpServletRequest req = Mockito.mock(HttpServletRequest.class); 

Kann mir jemand helfen?

+1

Wenn Sie Spring verwenden, verwenden Sie eine 'MockHttpServletRequest', die einfacher ist, als alles mit Mockito zu versuchen. Oder nutzen Sie besser die Spring MockMvc-Unterstützung, um Ihre Tests zu schreiben. –

+0

Danke. Ich werde es versuchen. – ghossio

+0

Ich möchte auch darauf hinweisen, dass die getestete Geschäftslogik sich nicht auf Servlet-Spezifikationsartefakte stützen sollte. Der einzige Grund, warum Sie eine Scheinanforderung benötigen, besteht darin, Ihre Marshalling-Logik zu testen, die die Geschäftslogik aufruft. Wenn Sie dies getan haben, ist möglicherweise ein Integrationstest für die Webebene besser geeignet. –

Antwort

0

Ok, ich habe es gelöst. Der Kommentar von @M. Denium hat recht, aber warnt vor der Spring-Version. Beim ersten Versuch importierte ich die MockHttpServletRequest der spring-mock Bibliothek, und ich habe eine NoSuchMethodError. Es ist über die Frühlingsversion, spring-mock ist für Frühling 1 und 2. Für Frühling 3 oder 4, benutzen Sie die spring-test library, es funktioniert.

+0

Sorry für Grammatikfehler @meskobalazs – ghossio

Verwandte Themen