2009-10-12 9 views
0

Pour les tests fonctionnels automatisés, je voudrais exécuter un conteneur de servlet à partir de mon pilote de test sans réellement émettre de requêtes HTTP sur le réseau. L'objectif principal est de tester des conditions assez élaborées de filtrage, de transfert et d'inclusion de servlets.Test: existe-t-il un cadre permettant d'intégrer Tomcat pour simuler des cycles de requête/réponse sans impliquer HTTP?

Je voudrais un système qui intègre le conteneur de servlet d'une manière qui:

  • ne crée pas un processus distinct si possible
  • ne provoque pas le conteneur embarqué à écouter sur les ports réseau
  • me permet d'émettre des requêtes HTTP simulées (via une API)
  • me permet d'attendre/recevoir des réponses et de les analyser à partir du code Java

Je sais que Tomcat peut être intégré through an API et a une API de connecteur, donc je suis sûr que c'est faisable. Mais il doit sûrement exister un cadre de test là-bas qui fait exactement cela déjà?

(Notez que je préférerais que Tomcat est utilisé, mais la jetée est une autre option.)

+0

duplication possible de [Servlets de test d'unité] (http://stackoverflow.com/questions/53532/unit-testing-servlets) – Raedwald

Répondre

2

Qu'en est-il en utilisant Jakarta Cactus? Découvrez How it works et le tutoriel.

+0

Merci Je l'évalue et je verrai si elle répond aux besoins. – ebruchez

+0

Sauf erreur de ma part, il semble que Cactus se base encore sur l'utilisation de HTTP pour se connecter au conteneur, ce n'est donc pas idéal dans cette perspective. – ebruchez

+0

Hmmm ... Cactus possède des classes ServletTestCase (et JspTestCase et FilterTestCase) et WebRequest et WebResponse pour les tests unitaires de Servlet (au sens de junit). Voir http://jakarta.apache.org/cactus/writing/howto_testcase_servlet.html et http://jakarta.apache.org/cactus/how_it_works.html. Portez une attention particulière à la section * Redirector Proxies *. –

Questions connexes