简体   繁体   English

Grails-单元测试中的“无法在空对象上获取属性'grails'”

[英]Grails - “Cannot get property 'grails' on null object” from unit test

I get the following error... 我收到以下错误...

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)

...when I run the unit test setUp() of my EmailSharerController , even when it is reduced to this: ...当我运行我的EmailSharerController的单元测试setUp()时,即使将其简化为:

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

I have browsed the web and found nothing. 我浏览了网络,却一无所获。 I do not any guess from where it could come. 我没有任何猜测。 Any help greatly apreciated :) 任何帮助大大赞赏:)

Problem was that Grails does not support the ConfigurationHolder object in unit tests. 问题是Grails在单元测试中不支持ConfigurationHolder对象。 It is possible to solve it this way: 可以这样解决:

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

to call the grails.serverURL property of Config.groovy for example. 例如,调用Config.groovy的grails.serverURL属性。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM