JSFUnit不一致地获得JSFServerSession

时间:2013-02-19 06:40:25

标签: jsf-2 jboss-arquillian weblogic12c jsfunit

我们正在尝试在WebLogic 12c容器上使用Arquillian运行JSFUnit,并且遇到了一些问题。

首先,当我们尝试使用@InitialPage注释注入JSFServerSession和JSFClientSession时,JSFServerSession总是返回为null。

其次,我们尝试通过创建新JSFSession的遗留路径,然后从中获取JSFServerSession和JSFClientSession来解决该问题。一旦我们运行第二个测试,我们得到“java.lang.IllegalStateException:找不到HttpSession。确保JSFUnitFilter已经运行,并且你的测试扩展了org.apache.cactus.ServletTestCase。”

这似乎很随意,因为有时候我们会运行测试并且它会通过。有时下次失败时。或者添加一条似乎不应该相关的行,将抛出“找不到HttpSession”错误。

似乎无法多次处理创建JSFSession或者服务器上存在一些超时,即使测试战争取消部署,也需要超时。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我不确定这是否也适用于您的问题,但我遇到了与JBoss 7类似的问题。通常问题可以通过以下方式解决:

  • 使用Servlet 3.0协议,该协议应包含web.xml
  • 的相关过滤器
  • 如果这没有帮助(就像我的情况一样),请使用此解决方案:https://stackoverflow.com/a/17036005/1667977
  • 无论如何,请尽量避免自己创建会话