2013-02-19 61 views
0

我們試圖在WebLogic 12c容器上使用Arquillian運行JSFUnit,並遇到一些問題。JSFUnit不一致地獲取JSFServerSession

首先,當我們嘗試使用@InitialPage註釋在JSFServerSession和JSFClientSession中注入時,JSFServerSession始終返回爲null。

其次,我們嘗試通過創建新的JSFSession的遺留路由,然後從中獲取JSFServerSession和JSFClientSession來解決該問題。一旦我們運行第二次測試,我們就會得到「java.lang.IllegalStateException:找不到HttpSession。確保JSFUnitFilter已經運行,並且你的測試擴展了org.apache.cactus.ServletTestCase。」

這似乎是非常隨意的,因爲有些時候我們會運行測試並通過測試。有時下一次失敗。或者添加一條看似不應該相關的行,會拋出「無法找到HttpSession」錯誤。

好像它無法處理多次創建JSFSession,或者服務器上有一些超時,即使測試戰爭正在取消部署某些事情需要超時。有什麼想法嗎?

回答

0

我不知道這是否適用於您的問題爲好,但我也有類似的問題與JBoss 7.通常情況下,問題都可以通過解決:

  • 使用Servlet 3.0協議,該協議應包括相關的過濾器,以web.xml
  • 如果不幫助(如在我的情況),使用此解決方案:https://stackoverflow.com/a/17036005/1667977
  • 在任何情況下,儘量避免創建自己的會話