2013-11-23 86 views
1

我正在使用grails 2.2.4,並且它相對較新。我試圖對我的控制器進行單元測試,並對我在書籍和網絡上看到的內容感到困惑。有時候,我看到人們寫自己的控制器單元測試是這樣的:@TestFor和擴展之間的區別ControllerUnitTestCase

@TestFor(MyController) 
@Mock([Domain1, Domain2]) 
class MyControllerUnitTests { 
    void testOne() ... 
} 

,有時我看到:

class MyControllerUnitTests extends ControllerUnitTestCase { 
    public void setUp() ... 
    public void tearDown() ... 
} 

有什麼區別,是一個比其他的更好的2.2.4單元測試?他們都似乎工作。

回答

2

在Grails 2中引入了用於測試的mixins的使用,而您提到的另一種方法已在較早版本的Grails中使用。看看這注來自官方的Grails文檔:

的Grails的1.3.x及以下用於測試的grails.test.GrailsUnitTestCase類層次結構在一個JUnit 3的風格。的Grails 2.0.x的和以上不贊成贊成混入的這些測試工具可被應用到各種不同類型的測試(JUnit 3中,JUnit 4中,斯波克等)的子類,而不

http://grails.org/doc/latest/guide/single.html#testing

所以你應該在Grails 2.2.4中爲你的單元測試使用mixins。更多關於Grails中可用的mixin和單元測試一般在這裏:http://grails.org/doc/latest/guide/single.html#unitTesting

相關問題