2013-11-23 57 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

相关问题