6
votes

Comment écrivez-vous des tests d'unité pour vos servlets Java?

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?


1 commentaires

S'il vous plaît voir aussi ce quasi-duplicate: Stackoverflow.com/questions/53532/Unit-testing-servlets


3 Réponses :


2
votes

Presque la même question a été posée juste aujourd'hui ici .

Jakarta Cactus est un cadre de test unitaire pour les servlets.


2 commentaires

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é."



17
votes

La chose la plus importante à faire est d'essayer de tout extraire des servlets qui n'est pas directement lié au comportement de servlet .

Ceci fait immédiatement tester la fonctionnalité de base A lot 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.

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 .

(Remarque: cette approche fonctionne pour la plupart des environnements d'interface graphique - E.g. Swing)


1 commentaires

"2011/08/05 - Jakarta Cactus a été retiré."



2
votes

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.

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.


0 commentaires