程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> J2EE >> 淺析對JSF項目的單元測試

淺析對JSF項目的單元測試

編輯:J2EE

不知道大家有沒有對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. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved