Maîtrisez le test d’applications Struts. Mettez en œuvre le framework de test StrutsTestCase, dérivé du framework de test unitaire JUnit. identifiez les 2 approches : ‘mock test ‘ (test factice) ne nécessitant pas de serveur d’applications et test ‘in container’ , nécessitant un serveur d’applications. Mettez en oeuvre un test Mock en créant une classe classe de test héritant de MockStrutsTestCase.
Ce tutoriel vous est offert par Objis, le spécialiste de la formation Objis.
Les + objis
70% de travaux pratiques
Clé USB avec tous les outils utilisés + Corrigés TPs
Bilan pédagogique individuel + conseils
Liens utiles
+ de 100 tutoriaux java/jee Objis
10 tutoriaux Struts 1 Objis
Objis, spécialiste formation java depuis 2005
Site du framework StrutsTestCase
Téléchargement StrutsTestCase
Framework de test ‘in container’ Cactus
Intégration StrutsTestCase, EasyMock et AspectJ
Tester unitairement votre application Strut
Prérequis
Installation Tomcat 6
Téléchargement Eclipse Entreprise
Intégration de tomcat dans eclipse
Déploiement struts-blank dans eclipse
Objectifs
Comprendre les approches du test avec Struts : Mock test et in-container test
Comprendre les classe MockStrutsTestCase et CactusStrutsTestCase
Programme
Contexte : tester votre ‘première application struts’
Partie 1 : téléchargement StrutsTestCase
Partie 2 : ajout librairies StrutsTestCase au projet
Partie 3 : création classe de test : TestHelloAction
Partie 4 : lancement du test
Durée
30min
Contexte
Comme point de départ, considérons l’application Struts développée dans notre tutoriel Struts N°3 : votre première application Struts. et dont l’arborescence projet est la suivante :
TELECHARGEZ LE PROJET ECLIPSE
Le scénario est simple. Le déploiement de l’application donne ceci :
L’utilisateur entre un nom et valide. L’écran suivant ressemble à celui-ci…
… Sauf si l’utilisateur entre « Atilla », auquel cas l’écran suivant est celui-ci :
Tests à effectuer
1) En cas de soumission d’un Nom, la redirection vers la page suivante sera t’elle bien réalisée (forward vers « SayHello ») ?
2) Le chargement du Bean Formulaire a t’il bien fonctionné ? En métant les bons paramètres en requête, le bean sera t’il instancié correctement ?
3) Si le nom donné est le nom ‘Atilla’, l’erreur sera t’elle bien lancée ? reviendra t’on à la page d’accueil .
4) Si le nom donné n’est pas Atilla , la bonne page sera t’elle bien renvoyée avec le message adéquat ?
Valeur ajoutée de StrutsTestCase
StrutsTestCase va nous permettre de faire ces tests.
StrutsTestCase est une extension JUnit qui utilise le controlleur ActionServlet pour tester votre code, vous permettant ainsi de tester non seulement vos actions Struts , mais aussi vos mappings, form bean et forwards.
StrutsTestCase met à votre disposition en particuliers 2 classes pour mettre en place soit une stratégie de test factice (MockStrutsTestCase), ou de test dit ‘in-container’ (CactusStrutsTestCase), comme avec le framework Cactus.
A travers le test factice, vous simulez que vous avez déployé votre application dans un serveur j2ee alors que ce n’est pas le cas.
A travers un test in-container, vous déployez réellement votre application dans un serveur j2ee avant de la tester.
Partie 1 : téléchargement StrutsTestCase
Allez sur la page de téléchargement de StrutsTestCase
Téléchargez la version 2.2.4 (liée aux specs web.xml 2.2.4) et Dézippez le fichier strutstest214-1.2_2.4.zip obtenu. Son contenu est le suivant.
C’est le jar strutstest-2.1.4.jar qui nous intéresse et qu’il faudra inclure dans notre projet de test.
Partie 2 : ajout librairies StrutsTestCase
Partie 3 : création classe de test : TestHelloAction
ajoutez un répertoire ‘test’ qui contiendra les sources de notre classe de test
Codage de la classe de test
Partie 4 : lancement du test
Cliquez droit sur la classe de test / Run as / JUnit test
Le test a réussi : la page de retour est la bonne et il n’y a pas eu d’erreur.
TELECHARGEZ le projet à cette étape
A VOUS DE JOUER : en utilisant la documentation StrutsTestCase, compléter le test unitaire ci-dessus.
Conclusion
Dans ce tutoriel, vous avez développé des compétences liées au test d’application Struts. Vous avez compris les 2 approches de test : test factices (Mock test) et test dans un conteneur (in-container).
Vous avez utilisé le framework StrutsTestCase , qui propose les classe MockStrutsTestCes et CactusStrutsTestCase pour vous tests Struts.
Prochaine formation STRUTS1
Le chemin le plus court pour avoir les réflexes et la méthodologie du bon développeur Struts 1:
Pour aller plus loin : le réseau Objis
Si vous appréciez notre sens du partage, devenez gratuitement membre ‘classic’ du Club Objis :
Votez pour les prochains tutoriaux à publier
Préparez vos entretiens techniques
Valorisez votre profil / expertise
Identifiez des opportunités d’emploi
Recevez la newsletter objis.com