|
Cactus, tests unitaires sur des Servlet
4.Réaliser un test avec
Cactus
4.1.Ecriture d’un test pour un
Servlets
Il existe plusieurs étapes par lesquelles il faut
passer pour écrire un test avec Cactus. Dans les lignes qui
vont suivre, je présenterais quelques une des méthodes
permettant de réaliser un test pour un code utilisant les
objets de l’API Servlet. Vous pouvez retrouver l’ensemble
de ces étapes ainsi que des informations supplémentaire
concernant les méthodes de Cactus à cette
adresse.
- Dans une première étape, il vous faut
importer les packages ‘org.apache.cactus’ et
‘junit.framework’ afin de réaliser le test.
Le premier package contient bien évidement les classes de
Cactus, le second package quand à lui, est nécessaire
car Cactus utilise JUnit comme ‘client’ pour appeler les
tests de l’application. Vous devriez donc obtenir les lignes
suivantes :
import
org.apache.cactus.*;
import
junit.framework.*;
- Dans une seconde étape, il vous faut créer
une classe de test qui hérite d’une des classes de test
de Cactus. Il existe plusieurs classes de test dont l’utilisation
dépend de l’objet que vous souhaitez tester.
Pour tester un code utilisant des objets de l’API
Servlet tels que HttpServletRequest, HttpServletResponse,
ServletConfig, etc … , il faut créer une classe qui
hérite de la classe ServletTestCase.
public
class MyTestServlet extends ServletTestCase
{
Suivant ce meme principe, vous pouvez créer des
classes permettant de tester des codes utilisant des objets de l’API
JSP, en héritant de la classe JspTestCase, ainsi
que ceux utilisant des objets de l’API Filter, en
héritant de la classe FilterTestCase. Vous avez aussi
la possibilité de réutiliser une classe héritant
de TestCase de l’API JUnit, pour cela il faut utiliser la
classe ServletTestSuite.
- Dans une derniere étape, il vous faut
utiliser la méthode testXXX() de votre classe de test,
méthode tres semblable à la méthode de Junit
portant le même nom, mais qui a pour particularité de
s’exécuter à l’intérieur d’un
conteneur. Dans cette classe, vous allez réaliser les
opérations suivantes :
-
Instancier la classe que vous souhaiter tester.
-
Mettre en place les différentes objet coté
serveur (Comme ajouter une variable dans la session http).
-
Appeler la méthode à tester.
-
Effectuer les assertions standard de JUnit via
les méthodes assert(…), assertEqual(…),
fail(…), afin de vérifier la réussite du
test.
Il existe aussi d’autres méthodes
optionnelles que vous pouvez choisir ou non d’utiliser. Ainsi,
la méthode beginXXX(…) vous permettra
d’initialiser les paramètres http, ces paramètres
pourront ensuite être récupérer dans votre
méthode testXXX(…) . De même, la méthode
endXXX(…) permettra de récupérer une
valeur d’un paramètre http renvoyé par le test
tel qu’un cookie ou une réponse http.
|
|
 |