使用Spock(0.7)Grails(2.1.2)插件,您可以编写自动注入Grails原型(如服务)的集成规范。但是,我想对仅在resources.groovy
中声明的Spring bean执行相同的操作。例如:
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
}
}
但上述内容会在NullPointerException
的调用中引发simpleBean.load()
。有没有办法让Spock / Grails创建simpleBean依赖项,以便它像Grails服务那样具有resources.groovy
所有已配置的依赖项?
答案 0 :(得分:0)
Grails自动将所有bean注入集成测试,包括Spock测试。在resources.conf
中声明的豆应该与人工制品一样工作。您的IntegrationSpec是否位于test/integration
下?