了解Grails中的单元测试

时间:2012-06-30 06:57:49

标签: grails groovy grails-2.0

我是初学者。并试图了解单元测试.. 当我创建域类Author时,grails会自动为该域创建一个测试控制器AuthorControllerTests

所以。在测试控制器中,第二行是@Mock(作者)

这意味着什么..我在模拟域类时获得的优势是什么?

2 个答案:

答案 0 :(得分:1)

extensive documentation on testing中说:

  

模拟注释创建任何协作者的模拟版本。存在GORM的内存实现,它将模拟与GORM API的大多数交互。对于那些未自动模拟的交互,您可以使用内置支持以编程方式定义模拟和存根。

AuthorControllerTests也是AuthorController的测试,而不是Author域类。

答案 1 :(得分:1)

只是为了添加一些东西,当您需要隔离像控制器这样的代码“单元”时,模拟很有用。

通过隔离,我们的意思是编写简单的组件来重新替换和模拟所有依赖项。这个简单的组件就是我们所说的Mocks。

Grails在这里为您提供了模拟域类的可能性,这将使您的测试更容易,因为它不会将信息存储在数据库中。

如果要测试整个堆栈,从控制器到数据库,这就是我们所说的集成测试。

希望有所帮助