精通Grails - 使用Grails进行单元测试(单元测试提速) - 编程入门网
,mockForConstraintsTests() 还接受第二个参数:一个用于模拟真 实数据库表的域类列表(替代真实的数据库表)。清单 11 演示了使用模拟表测 试 unique 约束的过程:
清单 11. 使用模拟表测试 unique 约束
在内存中模拟数据库表可以节省大量时间,尤其是在启动实际数据库需要很 长时间时。更糟的是,一旦数据库开始运行,您仍然需要确保使用使您的断言得 以通过所必需的记录来填充数据库表。 我并不是暗示运行对生产数据库运行实际的集成测试时浪费时间。我的意思 是,这些耗时的集成测试更适合于持续集成服务器。在这种情况下,模拟数据库 交互可以使您专注于 Grails 功能,只花少部分时间来进行测试。 模拟数据库表已超出了 mockForConstraintsTests() 方法的能力范围。您可 以使用 mockDomain() 方法完成这件事。 理解 mockDomain() GORM 将一些有用的方法元编程到域类上: save()、list() 和许多定位程序 ,比如 findAllByRole()。顾名思义,mockForConstraintsTests() 方法将验证 方法添加到域类上,以进行测试。mockDomain() 方法将持久性方法添加到域类 上,以进行测试。清单 12 展示了 mockDomain() 方法的实际应用: 清单 12. 使用 mockDomain() 测试 GORM 方法
精通Grails - 使用Grails进行单元测试(单元测试提速)(6)时间:2010-12-03 IBM Scott DavismockDomain() 方法尽可能忠实地建模 GORM 行为。例如,当您将一个域类保 存到模拟表在中时,会像在实际应用程序中一样填充 id 字段。id 值只是列表 中元素的序数值。清单 13 展示了在单元测试中保存 域类: 清单 13. 将一个域类保存到单元测试中
|
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |