2011-10-08 4 views
0

에서 "Null 개체에 특성 '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() 
} 

나는 웹을 찾아 보았고 아무 것도 발견하지 못했다. 어디서 올지 짐작할 수 없습니다. 도움이 크게 누락되었습니다 :)

+1

컨트롤러를 확인하는 데 도움이됩니다. 당신이 아마 단위 테스트 동안 유선이 아닌 무언가의 속성을 참조하고있는 것처럼 보입니다. –

답변

0

문제는 Grails가 단위 테스트에서 ConfigurationHolder 객체를 지원하지 않는다는 것입니다. 그것을이 방법으로 해결하는 것이 가능하다 :

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

예를 들면 Config.groovy 파일의 속성 grails.serverURL를 호출한다.