2013-08-23 86 views
2

此線程介紹瞭如何調用服務的視圖:How do I get an instance of a Grails service programmatically?如何調用一個服務於一個Grails集成測試

介紹如何調用它在Servlet:How do I get an instance of a Grails service programmatically?

這一個說如何將其稱爲控制器:How to dynamically select a service in Grails

我需要在集成測試中獲得我的服務的句柄。這可能嗎?

+2

不能把'def myService'放在測試中,grails應該注入它AFAIK –

回答

8

如果它是一個集成測試,您可以訪問整個運行時,所以只需像通常一樣注入它即可。

def someService 
+0

它在2.3.4版本下不適用於我 – Rafael

6

看看Testing Controllers with Service

要點:
你必須初始化服務(春豆)在測試控制器。

class FilmStarsTests extends GroovyTestCase { 
    def popularityService 
    void testInjectedServiceInController() { 
     def fsc = new FilmStarsController() 
     fsc.popularityService = popularityService 
     fsc.update() 
    } 
} 

服務在集成測試中自動裝配,就像在控制器中一樣。

相關問題