session - Grails-UnsupportedOperationException-集成测试

标签 session grails listener integration-testing

我已经在Grails应用程序中实现了一个简单的 session 侦听器,但是这导致集成测试因以下原因而失败:

java.lang.UnsupportedOperationException at org.springframework.mock.web.MockServletContext.addListener(MockServletContext.java:675) at BootStrap$_closure1.doCall(BootStrap.groovy:44) at grails.util.Environment.evaluateEnvironmentSpecificBlock(Environment.java:327)



这是因为用于测试的MockServletContext不支持我在下面的Bootstrap.groovy中添加的此侦听器:
def init = { 
  servletContext ->
       servletContext.addListener(userLoginSessionListener) 
   ....

}

但是有没有办法忽略这一点或注释我的测试而不要求它。

最佳答案

事实证明,这是最明显的修复程序,仅排除在测试环境中添加侦听器。

if (Environment.current != Environment.TEST) {    
    servletContext.addListener(UserLoginSessionListener)    
} 

关于session - Grails-UnsupportedOperationException-集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36799941/

相关文章:

java - Spring MVC - session 差异

java - Spring Security session 在实例化时抛出错误

grails - 每天午夜执行任务-Grails 3.2.2

java - TestNG 中的 IInvokedMethodListener 和 IMethodInterceptor 有什么区别?

Javascript:监听多个异步 Google Maps API v3 请求以完成

c# - 使用 MVC 4 在 C# 中使用 Session 进行 foreach 循环

python - 当在其中一个应用程序上调用 session.clear 时,单个 apache 服务器上的多个 Python Flask 应用程序丢失 session

grails - Grails 3.3.5 -Dfile.encoding = UTF-8无法正常工作吗?

grails - Grails 3网址对应

android - aSmack - 使用数据包监听器输出可空元素的数据包到 XML