2011-10-08 201 views
0

「空對象無法獲得屬性'Grails的」我得到以下錯誤...Grails的 - 從單元測試

Cannot get property 'grails' on null object 
java.lang.NullPointerException: Cannot get property 'grails' on null object 
    at pcc.EmailSharerController.<init>(EmailSharerController.groovy) 
    at grails.test.MvcUnitTestCase.newInstance(MvcUnitTestCase.groovy:102) 
    at grails.test.ControllerUnitTestCase.super$6$newInstance(ControllerUnitTestCase.groovy) 
    at grails.test.ControllerUnitTestCase.newInstance(ControllerUnitTestCase.groovy:112) 
    at grails.test.ControllerUnitTestCase.setUp(ControllerUnitTestCase.groovy:55) 
    at pcc.EmailSharerControllerTests.super$7$setUp(EmailSharerControllerTests.groovy) 
    at pcc.EmailSharerControllerTests.setUp(EmailSharerControllerTests.groovy:12) 

...當我的我的EmailSharerController運行單元測試設置()即使是這樣:

protected void setUp() { 
     super.setUp() 
} 

我瀏覽了網頁,發現什麼都沒有。 我不知道它會來自哪裏。 任何幫助大大apreciated :)

+1

這將有助於看到你的控制器。看起來你可能引用了單元測試期間沒有連接的某個屬性。 –

回答

0

問題是,Grails不支持單元測試中的ConfigurationHolder對象。 它可以解決這樣說:

mockConfig(""" 
     grails { 
      serverURL = 'my domain name' 
     } 
    """) 

調用Config.groovy中的例如grails.serverURL財產。