Grails - “无法获取属性‘grails’”在空对象上”来自单元测试

发布于 2024-12-08 18:38:39 字数 949 浏览 1 评论 0原文

我收到以下错误...

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 的单元测试 setUp() 时,即使它简化为:

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

我浏览了网页,但什么也没找到。 我不知道它会从哪里来。 非常感谢任何帮助:)

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:

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 :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

奶气 2024-12-15 18:38:39

问题是 Grails 不支持单元测试中的 ConfigurationHolder 对象。
可以这样解决:

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

例如调用 Config.groovy 的 grails.serverURL 属性。

Problem was that Grails does not support the ConfigurationHolder object in unit tests.
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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文