2013-02-19 4 views
0

Nous essayons d'exécuter JSFUnit avec Arquillian sur un conteneur WebLogic 12c et rencontrons quelques problèmes. D'abord, lorsque nous essayons d'utiliser l'annotation @InitialPage pour injecter dans JSFServerSession et JSFClientSession, le JSFServerSession est toujours renvoyé comme nul. Deuxièmement, nous avons essayé de contourner le problème en suivant la route héritée de la création d'une nouvelle JSFSession, puis en récupérant JSFServerSession et JSFClientSession. Une fois que nous avons exécuté un deuxième test, nous obtenons "java.lang.IllegalStateException: Impossible de trouver HttpSession. Assurez-vous que JSFUnitFilter a été exécuté et que votre test étend org.apache.cactus.ServletTestCase."JSFUnit obtient de manière incohérente JSFServerSession

Cela semble très arbitraire car il y a des moments où nous allons faire un test et ça passe. Parfois, la prochaine fois qu'elle échoue. Ou en ajoutant une ligne qui ne semble pas devoir être liée, l'erreur "Can not find HttpSession" sera lancée.

Il semble qu'il ne puisse pas gérer plusieurs fois la création de JSFSession ou qu'il y ait un délai d'expiration sur le serveur qui, bien que la guerre de test ne soit pas déployée, nécessite un délai d'expiration. Des pensées?

Répondre

0

Je ne sais pas si cela s'applique à votre problème aussi bien, mais j'avais problème similaire avec JBoss 7. En général, les problèmes peuvent être résolus par:

  • Utilisation du protocole Servlet 3.0 qui devrait inclure des filtres pertinents à web.xml
  • Si cela ne vous aide pas (comme dans mon cas), utilisez cette solution: https://stackoverflow.com/a/17036005/1667977
  • dans tous les cas, essayez d'éviter de créer la session vous
Questions connexes