2016-04-22 128 views
0

我在Grails应用程序中实现一个简单的会话监听器,但它引起我的集成测试失败,以下内容:在org.springframework的Grails - UnsupportedOperationException异常 - 集成测试

java.lang.UnsupportedOperationException 。 mock.web.MockServletContext.addListener(MockServletContext.java:675) 在系统启动$ _closure1.doCall(BootStrap.groovy中:44) 在grails.util.Environment.evaluateEnvironmentSpecificBlock(Environment.java:327)

这是因为MockServletContext所用于测试不支持此监听器,我在下面的行添加BootStrap.groovy中:

def init = { 
    servletContext -> 
     servletContext.addListener(userLoginSessionListener) 
    .... 

} 

,但有没有忽略这个或标注我的测试不要求它的一种方式。

+0

我没有回答这个特定的问题,但想通了,我已经在这里回答我的其他问题与解决方法 - http://stackoverflow.com/a/36886996/2288004。 – dre

回答

0

事实证明,这是最明显的修复,只是排除了为测试环境添加侦听器。

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