2013-01-16 46 views
1

使用Spock(0.7)Grails(2.1.2)插件,您可以編寫自動注入Grails原型(如服務)的集成規範。不過,我想爲Spring beans做同樣的事情,只在我的resources.groovy中聲明。例如:如何自動將resources.groovy中聲明的Grails組件注入到我的IntegrationSpecs中?

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

其中SimpleBean在src/groovy文件夾中聲明。如果這是一個Grails服務,我可以寫像下面這樣在我test/integration文件夾::

import grails.plugin.spock.IntegrationSpec 

class SimpleBeanSpec extends IntegrationSpec { 

    def simpleBean 

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

} 

但上面的呼叫simpleBean.load()拋出一個NullPointerException。有什麼方法可以讓Spock/Grails創建simpleBean依賴關係,以便像Grails服務一樣從resources.groovy獲得所有已配置的依賴關係?

回答

0

Grails會自動將所有bean注入到集成測試中,包括Spock測試。在resources.conf中聲明的豆類應與文物相同。您的IntegrationSpecs是否位於test/integration下?

+0

測試是在測試/集成,我會更新問題來反映,但這絕對不適用於我的安裝Grails。 –

相關問題