1

使用 Spock (0.7) Grails (2.1.2) 插件,您可以编写自动注入 Grails 原型(如服务)的集成规范。但是,我想对仅在我的resources.groovy. 例如:

beans = {
    simpleBean(SimpleBean) {
        // load some dependencies
    }
}

src/groovy文件夹中声明 SimpleBean 的位置。如果这是一个 Grails 服务,我可以在我的文件夹中编写如下内容test/integration::

import grails.plugin.spock.IntegrationSpec

class SimpleBeanSpec extends IntegrationSpec {

    def simpleBean

    def "should"() {
        when:
            data = simpleBean.load()
        then:
            assert simpleBean
    }

}

但是上面的调用会引发NullPointerExceptionsimpleBean.load(). 有什么方法可以让 Spock/Grails 创建 simpleBean 依赖项,以便它resources.groovy像 Grails 服务一样拥有所有已配置的依赖项?

4

1 回答 1

0

Grails 自动将所有 bean 注入到集成测试中,包括 Spock 测试。在中声明的 Beanresources.conf应该与人工制品一样工作。您的 IntegrationSpecs 是否位于下面test/integration

于 2013-01-16T18:06:11.283 回答