gpt4 book ai didi

运行所有集成测试时,grailsApplication 在域类中不可用

转载 作者:行者123 更新时间:2023-11-28 20:41:01 24 4
gpt4 key购买 nike

我在 Grails 中运行集成测试时遇到了问题。项目中的一个域类有一个访问 grailsApplication.config 属性的方法。我们对在域类中调用此方法的服务之一进行了集成测试。当使用命令自行运行测试时

grails test-app integration: com.project.MyTestSpec

测试运行良好,域类可以访问 grailsApplication。然而,当整个测试套件运行时使用:

grails test-app integration

然后测试失败并出现错误

java.lang.NullPointerException: Cannot get property 'config' on null object

尝试访问 grailsApplication.config 时。似乎当所有测试一起运行时,grailsApplication 没有被注入(inject)到域类中。以前有人遇到过这个问题吗?

据我所知,这似乎是一个测试污染问题,但由于在每个集成测试中都没有发生任何设置,因此很难追踪到该问题。

最佳答案

我在使用 grails 3 时遇到了这个问题。如果您正在测试域,则必须在测试开始时进行设置(使用 spock 进行测试):

def setup() {
Holders.grailsApplication = new DefaultGrailsApplication()
Holders.grailsApplication.config.property.code = '1234'
}

关于运行所有集成测试时,grailsApplication 在域类中不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32780522/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com