Quelles sont les meilleures pratiques pour tester les servlets Java Test? En passant: c'est un sujet dans lequel j'ai une certaine maladie: comment testez-vous vos servlets Java? P>
3 Réponses :
Presque la même question a été posée juste aujourd'hui ici A >. p>
Jakarta Cactus est un cadre de test unitaire pour les servlets. P>
Bon à connaître ce projet Jakarta Cactus. Mais j'aimerais aussi savoir quelles sont les meilleures pratiques. Merci pour le conseil!
"2011/08/05 - Jakarta Cactus a été retiré."
La chose la plus importante à faire est d'essayer de tout extraire des servlets qui n'est pas directement lié au comportement de servlet em>. p>
Ceci fait immédiatement tester la fonctionnalité de base A lot em> plus facile. En faisant cela, vous avez immédiatement un ensemble de composants non liés au conteneur et testable sans la douleur de la course à pied et d'interfacer dans un conteneur (en plus de les rendre plus réutilisables). Une pensée devrait être donnée à l'architecture et à la superposition appropriée des composants - par ex. Composants renvoyant des structures d'objet plutôt que des fragments afficables, ne faisant pas partie de HTTPRetsters directement, mais quelques demandes de la structure de marshalling, etc. P>
La majorité de vos tests (dépendants de la structure et de la complexité de votre système) peuvent être testés normalement. Des tests supplémentaires axés sur le servlet peuvent être construits en utilisant (disons) Apache Cactus à la fonctionnalité de vérification de la santé mentale. Au-delà de cela, vous voudrez peut-être étudier des solutions de navigateur telles que selenium . P>
(Remarque: cette approche fonctionne pour la plupart des environnements d'interface graphique - E.g. Swing) P>
"2011/08/05 - Jakarta Cactus a été retiré."
Ce que nous faisons normalement, c'est charger le servlet avec une demande et une réponse simulées. Si vous utilisez le printemps, cela est particulièrement facile puisqu'il fournit en réalité une mochePRequête de qualité et une optique. p>
En supposant que vous avez des couches clairement définies dans votre application, le reste est facile. La couche de service sous-jacente / DAO peut être remplacée par des simulacres, nous nous assurons donc que le servlet fait ce que c'est censé faire pour l'objet de demande donné et écrire correctement la réponse. p>
S'il vous plaît voir aussi ce quasi-duplicate: Stackoverflow.com/questions/53532/Unit-testing-servlets