2015-09-12 72 views
0

我正在向舊的grails項目(grails 2.2.5)添加一個測試套件。Grails控制器測試多個服務模擬

我使用兩個或更多的服務,所以我需要嘲笑他們在測試中身體有些控制器,如:

void testSave() { 
    def myService1 = mockFor(MyService1) 
    // ... mock setup 
    def myService2 = mockFor(MyService2) 
    // ... mock setup 
    def myService3 = mockFor(MyService3) 
    // ... mock setup 
    // ... test code 
} 

void testUpdate() { 
    def myService1 = mockFor(MyService1) 
    // ... mock setup 
    def myService2 = mockFor(MyService2) 
    // ... mock setup 
    def myService3 = mockFor(MyService3) 
    // ... mock setup 
    // ... test code 
} 

// ... other methods 

因爲我需要在所有控制器的測試這項服務,我必須複製此代碼在每個測試方法或有更好的方法來做到這一點(沒有代碼重複)?

回答

1

您可以製作服務變量類字段/屬性,然後在setup()setupSpec()方法中設置。看看列出的夾具方法here

相關問題