• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    在軟件測試中關于JSF應用進行單元測試

    發布: 2009-4-20 10:40 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 33次 | 進入軟件測試論壇討論

    領測軟件測試網 因為在容器以外測試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進行自動測試?蚣艿腡est-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。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: jsf JSF 單元 軟件測試 應用


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>