快速业务通道

精通Grails - 使用Grails进行单元测试(单元测试提速) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
,创建一个新 User 并将其存储在 suziq 变量中 ,接下来,模拟 User 表,将 suziq 存储为唯一的记录。

当基本设置完成之后,调用 listXml() 操作。要以 String 的形式从操作获 取生成的 XML,调用 controller.response.contentAsString 并将其存储在 xml 变量中。

现在,您拥有了一个原始 String。(此 String 的内容仅用于在方法末尾的 output 注释中引用)。调用 new XmlParser().parseText(xml) 会以 groovy.util.Node 对象的形式返回根元素 (<list>)。一旦拥有了 XML 文档的根节点,您就可以使用 GPath 表达式(例如 list.user.login.text()) 来断言,<login> 元素包含预期的值(在本例中为 suziq)。

可以看到,Grails converters 包简化了 XML 的生成过程,本机 Groovy 库 XmlParser 简化了 XML 的解析过程,而 ControllerUnitTestCase 简化了测试 结果 GrailsMockHttpServletResponse 的过程。这是一个强大的技术组合,使 得只需短短几行代码就可以进行测试。

结束语

在本文中,您学习了内置的测试类 GrailsUnitTestCase 和 ControllerUnitTestCase,它们大大简化了 Grails 应用程序的测试。 mockForConstraintsTests()、mockDomain() 和 mockLogging() 方法支持编写 更快的单元测试来代替缓慢的集成测试,从而显著提高应用程序开发速度。

在下一期中,我将介绍社区提供的一些测试插件,这些插件能够简化集成测 试。届时请继续享受精通 Grails 带来的乐趣吧。

本文配套源码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号