Tutoriel struts N° 11 : test application struts avec strutsTestCase

/////Tutoriel struts N° 11 : test application struts avec strutsTestCase

promo_formation_struts_objis_meilleures_pratiques.pngMaî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
telechargement_pdf_plan_cours.gif

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
telechargement_pdf_bulletin_inscription.gif

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 :

tutoriel_struts1_premiere_appli_4.png


TELECHARGEZ LE PROJET ECLIPSE

Le scénario est simple. Le déploiement de l’application donne ceci :

tutoriel_struts1_premiere_appli_5.png

L’utilisateur entre un nom et valide. L’écran suivant ressemble à celui-ci…

tutoriel_struts1_premiere_appli_9.png

… Sauf si l’utilisateur entre « Atilla », auquel cas l’écran suivant est celui-ci :

tutoriel_struts1_premiere_appli_10.png

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

tutoriel-struts-objis-test-application-struts-strutstescase-0

 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.

tutoriel-struts-objis-test-application-struts-strutstescase-1

 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

tutoriel-struts-objis-test-application-struts-strutstescase-2

 

Partie 3 : création classe de test : TestHelloAction

 ajoutez un répertoire ‘test’ qui contiendra les sources de notre classe de test

tutoriel-struts-objis-test-application-struts-strutstescase-creation-sources-test-1

tutoriel-struts-objis-test-application-struts-strutstescase-creation-sources-test-2

 

tutoriel-struts-objis-test-application-struts-strutstescase-3

 

tutoriel-struts-objis-test-application-struts-strutstescase-4

 

tutoriel-struts-objis-test-application-struts-strutstescase-4-bis

Codage de la classe de test

tutoriel-struts-objis-test-application-struts-strutstescase-5

Partie 4 : lancement du test

 Cliquez droit sur la classe de test / Run as / JUnit test

tutoriel-struts-objis-test-application-struts-strutstescase-6

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:

promo_formation_struts_objis_meilleures_pratiques.png

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

2018-01-30T14:41:25+01:00

Contactez nous

241 rue DUGUESCLIN, 69003 Lyon

Web : Objis : spécialiste formation Java