java - 从 src/groovy 中的 spock 单元测试测试代码访问 grailsApplication

标签 java unit-testing grails groovy spock

我正在尝试使用 Spock 测试 src/groovy 中的一些代码。我正在测试的代码引用了 grailsApplication。因为它在 src/groovy 中,所以我使用依赖注入(inject)将 grailsApplication 注入(inject)到 bean 中,如下所示:

ticketRequestEmailInfo(TicketRequestEmailInfo) {
    grailsApplication = ref('grailsApplication')
}

我遇到的问题是当测试代码遇到引用 grailsApplication 的代码行时,我得到一个 NullPointerException:

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

我的测试类有以下内容:

@TestMixin(GrailsUnitTestMixin)
class TicketRequestEmailInfoSpec extends Specification {
    def setup() {
        grailsApplication.config.acme.purchase.trsUrlBase = "http://localhost:8082/purchase/order/"
}

有人有什么建议吗?

最佳答案

尝试Holders.grailsApplication.config:

@TestMixin(GrailsUnitTestMixin)
class TicketRequestEmailInfoSpec extends Specification {
    def setup() {
        Holders.grailsApplication.config.acme.purchase.trsUrlBase = "http://localhost:8082/purchase/order/"
}

关于java - 从 src/groovy 中的 spock 单元测试测试代码访问 grailsApplication,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24497087/

相关文章:

java - Hibernate 中同一个表中的一对多映射

java - 生成一定长度的所有排列

java - 如何在java程序中加载bashrc并执行命令

Python unittest - 指定的文件仍必须作为模块导入?

Grails域类对象更新问题

hibernate - 如何从 Grails Controller 和 View 外部引用 Grails 域类字段?

java - Eclipse编辑器: customise the way the data is displayed

javascript - 使用 fetch api 测试 Redux 登录操作

java - GWT:单元测试/模拟 JSNI 方法的最佳实践?

grails - grails:如何在 Bootstrap 中保存域对象并通过忽略唯一约束错误来避免重复?