我是一个 grails 初学者。并试图理解单元测试..当我创建域类时,Author
grails 会自动AuthorControllerTests
为该域创建一个测试控制器。
所以 。在测试控制器中,第二行是 @Mock(Author)
这是什么意思..当我模拟一个域类时我得到了什么好处?
我是一个 grails 初学者。并试图理解单元测试..当我创建域类时,Author
grails 会自动AuthorControllerTests
为该域创建一个测试控制器。
所以 。在测试控制器中,第二行是 @Mock(Author)
这是什么意思..当我模拟一个域类时我得到了什么好处?
只是为了添加一些东西,当您需要隔离代码的“单元”时,模拟很有用,例如您的控制器。
通过隔离,我们的意思是编写简单的组件来重新编写和模拟所有依赖项。这个简单的组件就是我们所说的 Mocks。
这里的 Grails 使您可以模拟域类,这将使您的测试更容易,因为它不会将信息存储在数据库中。
如果要测试整个堆栈,从控制器到数据库,这就是我们所说的集成测试。
希望能帮助到你
Mock 注释创建任何协作者的模拟版本。有一个 GORM 的内存实现,它将模拟与 GORM API 的大多数交互。对于那些不会自动模拟的交互,您可以使用内置支持以编程方式定义模拟和存根。
AuthorControllerTests 也是 AuthorController 的测试,而不是 Author 域类。