没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|其它|编辑:郝浩|2008-01-10 10:21:06.000|阅读 1290 次
概述:
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
因为在容器以外测试 JSF 组件有所限制,所以大家一直认为对于 JSF 应用进行单元测试是困难的。多数 web 层的测试框架遵循黑盒测试方式,开发者用 web 组件编写测试类来验证渲染的 HTML 输出是否符合预期。HtmlUnit,HttpUnit,Canoo WebTest 和 Selenium 等框架都属于这个类型。这些框架的局限在于它们仅仅只能测试 web 应用的客户端。
但是这种现象已经随着近来发布的 JSFUnit 和其它一些 JSF 测试框架,如 Shale Test 和 JSF Extensions 而改变了。这些测试框架支持对 web 应用的客户端和服务器端组件的白盒测试。并且,一些项目,如 Eclipse Web Tools Platform (WTP)和 JXInsight 已开始协助 JSF 应用的开发和测试了。
与其它的单元测试框架一样,一个典型的 JSF 测试框架需要具备以下特性:
可在容器之外独立的运行一个测试用例,可从一个类似 Eclipse 或 NetBeans 的 IDE 里面运行测试用例,以促进测试驱动开发(TDD)。
可测试完整的 HTTP 请求-响应生命周期。
与构建工具如 Ant 或 Maven 集成 ,从而在一个自动构建和持续集成的环境下运行单元测试。
测试框架还需支持 JSF 的特定需求,如:
在测试方法中调用 JSF API,而不是检查 HTML 输出或客户端 DOM 对象。
通过验证用户在表单上的输入和访问正确的页面视图来导航测试。
验证 action 是否按预期执行,以及错误情况是否显示预期的错误消息。
即使 rendered 属性被设置为假(组件不在 web 浏览器上渲染但仍在服务器端保存状态)时依然可以验证 JSF 组件。
验证 XML 配置文件(faces-config.xml 等)是否被正确加载。
测试框架
JSFUnit 构建在 HttpUnit 和 Apache Cactus 之上,允许 JSF 应用和 JSF AJAX 组件的综合测试和调试。它可以在同一个测试类里测试JSF产品的客户端和服务器端。有了 JSFUnit API,测试类方法可以提交表单数据,并且验证管理的 bean 是否被正确更新。
JSFUnit 包括一个 JSF 静态分析测试套件用来验证 JSF 配置文件,以确保在运行时产生问题之前就能识别出任何与配置相关的问题。它还提供了 JSFTimer 组件来执行 JSF 生命周期的性能分析。它可被应用于跟踪 JSF 生命周期的每个阶段对于一个指定的 web 请求的响应时间,并断言该响应时间在 SLA 限定之内。
JSFUnit 支持 RichFaces 和 Ajax4jsf 组件。此框架的 Beta 1版本在上月发布,第二 Beta 版本计划在下个月末发布。
Shale 测试框架作为一个 Apache 项目,提供了对 Servlet 和 JSF 组件的 mock 对象实现。这些基础的测试类可应用于测试 Shale 框架类以及构建于该框架之上的 JSF 应用组件。Shale 测试可用于编写独立的单元测试来运行 ViewController 接口暴露的方法。因为为一个 ViewController 组件搭建运行环境很复杂,所以 Shale 测试是很有用的。以下是 Shale 测试框架的主要类:
AbstractJsfTestCase:这是对 web 应用的 Servlet 和 JSF 组件进行单元测试的基础测试类
AbstractViewControllerTestCase: 这个类作为 AbstractJsfTestCase 的扩展,提供了对使用 Viewcontroller 实现类的常用场景进行测试所需的有效方法。
还有其它 JSF web 组件的 mock 实现,叫做为 MockApplication,MockExternalContext 和 MockFacesContext。
Shale 测试还与 Spring 框架进行了集成,允许 JSF 组件被绑定为管理 bean 或 Spring bean。
JSF Extensions 项目是一个无 UI 组件的集合,它扩展了基于 JSF 1.2的 web 应用的功能。它使用 JUnit,HTMLUnit 和 Cactus 进行自动测试。框架的 Test-Time 模块为 JSF 1.2提供 mock 对象。Design-Time 模块具有 JSF 热部署功能,能停止和重启应用而无需经历构建和重部署周期。这个基于 JSF PhaseListener 接口的特性会使得所有的配置文件和类被重载。这些使得开发者能在编写 JSF 应用时遵循一种测试驱动迭代 JSF 开发方式。
工具
还有一些开发工具也辅助 JSF 应用的开发和性能检测。JInspired 组的 JXInsight 提供了 JSF 跟踪和性能检测特性,该特性基于 PhaseListener 接口。在 JSF 应用中使用这个跟踪监听器,开发者和 web 管理员可以对于一个 JSF 请求收集到例如跟踪栈、java 调用栈和运行时 UIComponent 的层次关系等信息。
Eclipse WTP 项目里的 JSF 工具的子项目还提供了支持开发和部署基于 JSF 的 web 应用的工具,如 Visual JSF Page Editor 和 Faces Config Editor。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com
文章转载自:51testing面对“数字中国”建设和中国制造2025战略实施的机遇期,中车信息公司紧跟时代的步伐,以“集约化、专业化、标准化、精益化、一体化、平台化”为工作目标,大力推进信息服务、工业软件等核心产品及业务的发展。在慧都3D解决方案的实施下,清软英泰建成了多模型来源的综合轻量化显示平台、实现文件不失真的百倍压缩比、针对模型中的大模型文件,在展示平台上进行流畅展示,提升工作效率,优化了使用体验。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
本站的模型资源均免费下载,登录后即可下载。模型仅供学习交流,勿做商业用途。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@evget.com
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢
慧都科技 版权所有 Copyright 2003-
2025 渝ICP备12000582号-13 渝公网安备
50010702500608号