2016-04-22 69 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)  
}