# Controller-Klassen eines Servlets testen mit JUnit



## daniel007 (7. Mai 2007)

Hi,

ich habe eine Methode mit folgender Signatur:


```
public static boolean createAdmin(HttpServletRequest request, HttpServletResponse response, Connection con)
```
Diese Methode ist in einer Controller-Klasse, welche ich komplett mit junit testen möchte.

Ich suche daher eine Möglichkeit, ein Request und ein Response Objekt zu erzeugen

ich habs zuerst mit cactus versucht, aber die request und response objekte dort sind nicht mit dem normalen WebRequest und WebResponse kompatibel

ausserdem konnte ich mit cactus irgendwann keine instanz des servlets mehr erzeugen, das ganze war für mich überhaupt nicht transparent


kennt jmd. ein Framwork oder eine Möglichkeit, stinknormale HttpServletRequest und HttpServletResponse Objekte zu instanziieren und das Request Objekt entsprechend vorzubereiten (z.B. post parameter anzulegen) ?

vielen Dank

cya Daniel[/code]


----------



## SlaterB (7. Mai 2007)

also ich wäre ja entweder für 
a.) komplette Webanwendung testen, also ganz normale Requests senden und Ergebnisse auswerten
(google 'Webanwendung testen')
oder für
b.) nur die Logik-Klassen testen, aber dann Logik-Klassen, die 
String name, String passwort 
als Parameter verlangen, vielleicht noch allgemeine Beans mit getter/ setter,
aber doch nicht Servlet-spezifischen Requests..,

machst du denn viel mit dem Request außer die Parameter auszulesen?


----------



## Guest (7. Mai 2007)

nein mache ich nicht


du hast schon Recht mit dem Vorschlag, diese Idee hatte ich auch schon, also dass man den Controllerklassen die Werte direkt gibt, weil dann kann man die auch direkt testen


trotzdem hat man noch das Problem, dass man ja dann den Dispatcher, also das Servlet ansich testen muss, aber da würde ja ein Blackboxtest reichen...


----------



## Marzel (8. Mai 2007)

http://htmlunit.sourceforge.net/


----------

