浅析对JSF项目的单元测试

不知道大家有没有对Web页面进行测试的经历?或者正想要对web页面进行测试?为什么我下面这篇文章没什么人回复呢?是因为JSF用到的人少,还是因为我比较超前没几个人想到对JSF页面进行自动测试呢?呵呵

为阜宁等地区用户提供了全套网页设计制作服务,及阜宁网站建设行业解决方案。主营业务为成都网站建设、网站制作、阜宁网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

一直以来,我们使用java语言开发的程序主要是web应用程序而非桌面应用,当然java是完全可以用来开发桌面应用程序的,目前已经有了比较成熟的针对java的单元测试工具Junit,但是Junit在web应用开发过程中却很难派上大的用场,比如如何让程序对JSP页面进行自动测试?

我们在太原铁路项目中普遍采用了JSF框架进行前端页面的展现和服务器端业务逻辑的处理,收到了比较好的效果,提高了工作效率,但是我们在程序开发过程中经常重复出现一些解决过的错误,为了解决这些错误又需要重新寻找出现错误的地方,或者因为改动了一个小的地方而导致其他地方出现问题我们却一无所知。

最后我们只能通过一遍遍的点击页面重复测试才能重新树立对程序的信心,然而人是有厌倦心理的,对于一遍遍重复的低级劳动很快就会厌倦,尤其是程序员对自己所写的代码很厌倦测试,这样很难保证程序的质量。

于是我们想过引入单元测试,重复的东西让计算机去做,然而对JSF页面进行单元测试是比较困难的,因为JSF 程序都是运行在容器环境中的,与HTTP请求和相应是紧密关联,如果我们要对ManagedBean进行测试,需要构造上下文环境,这些上下文环境原本是由浏览器和JBoss之类的容器构造的,让我们自己去编写代码构造上下文环境很难也很不现实,对JSF页面的自动测试也是很难想象的,然而有了 JSFUnit的参与这一切将变得很简单,JSFUnit就是我下面要介绍的针对JSF的测试工具。

JSFUnit是jboss开源组织的一个开源项目,JSFUnit beta 1版于2007年11月发布,目前国内使用JSFUnit还比较少,相信日后一定会得到广泛的使用。JSFUnit被设计为通过使用简单的API来完成 JSF项目的集成测试和单元测试的工具。它完全可以访问managed beans, FacesContext, EL表达式和JSF内部组件树,同时可以访问每次客户端请求后的HTML相应。

当然JSFUnit还有其他一些功能,比如JSF静态分析测试可以测试JSF的配置文件faces-config.xml,帮你尽早发现配置问题。 JSFTimer能够进行JSF生命周期每个阶段的性能测试。从此JSF的测试从难以想象到轻松变为现实。目前还只有JSFUnit的官方网站对它的使用方法进行了比较详细的介绍,如有兴趣可以登陆www.jsfunit.org或者http://www.jboss.com/jsfunit/进行查询。下面我将介绍一下我在使用JSFUnit中的一些经验,希望需要使用它的人能够少走弯路。

【编辑推荐】

  1. JSF基础框架
  2. 使用G4JSF集成GWT和JSF
  3. 过渡技术的Ajax及Apusic JSF
  4. NetBeans中JSF的可视化开发
  5. 详细介绍Seam Remoting API和Ajax4jsf

本文标题:浅析对JSF项目的单元测试
本文地址:http://www.hantingmc.com/qtweb/news9/65059.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联