自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JSF測試工具

開發(fā) 后端
本文介紹JSF測試工具,包括與其它的單元測試框架一樣,一個典型的JSF測試框架需要具備的特性。

JSF測試工具

因?yàn)樵谌萜饕酝鉁y試JSF組件有所限制,所以大家一直認(rèn)為對于JSF應(yīng)用進(jìn)行單元測試是困難的。多數(shù)web層的測試框架遵循黑盒測試方式,開發(fā)者用web 組件編寫測試類來驗(yàn)證渲染的HTML輸出是否符合預(yù)期。HtmlUnit,HttpUnit,Canoo WebTest和Selenium等框架都屬于這個類型。這些框架的局限在于它們僅僅只能測試web應(yīng)用的客戶端。

但是這種現(xiàn)象已經(jīng)隨著近來發(fā)布的JSFUnit和其它一些JSF測試框架,如Shale Test和JSF Extensions而改變了。這些測試框架支持對web應(yīng)用的客戶端和服務(wù)器端組件的白盒測試。并且,一些項(xiàng)目,如Eclipse Web Tools Platform (WTP)和 JXInsight 已開始協(xié)助JSF應(yīng)用的開發(fā)和測試了。

與其它的單元測試框架一樣,一個典型的JSF測試框架需要具備以下特性:
◆可在容器之外獨(dú)立的運(yùn)行一個測試用例,可從一個類似Eclipse 或NetBeans的IDE里面運(yùn)行測試用例,以促進(jìn)測試驅(qū)動開發(fā)(TDD)。
◆可測試完整的HTTP請求-響應(yīng)生命周期。
◆與構(gòu)建工具如Ant或Maven集成 ,從而在一個自動構(gòu)建和持續(xù)集成的環(huán)境下運(yùn)行單元測試。

JSF測試框架還需支持JSF的特定需求,如:
◆在測試方法中調(diào)用JSF API,而不是檢查HTML輸出或客戶端DOM對象。
◆通過驗(yàn)證用戶在表單上的輸入和訪問正確的頁面視圖來導(dǎo)航測試。
◆驗(yàn)證action是否按預(yù)期執(zhí)行,以及錯誤情況是否顯示預(yù)期的錯誤消息。
◆即使rendered屬性被設(shè)置為假(組件不在web瀏覽器上渲染但仍在服務(wù)器端保存狀態(tài))時依然可以驗(yàn)證JSF組件。
◆驗(yàn)證XML配置文件(faces-config.xml 等)是否被正確加載。

測試框架

JSFUnit構(gòu)建在HttpUnit和Apache Cactus之上,允許JSF應(yīng)用和JSF AJAX組件的綜合測試和調(diào)試。它可以在同一個測試類里測試JSF產(chǎn)品的客戶端和服務(wù)器端。有了JSFUnit API,測試類方法可以提交表單數(shù)據(jù),并且驗(yàn)證管理的bean是否被正確更新。

JSFUnit包括一個JSF靜態(tài)分析測試套件用來驗(yàn)證JSF配置文件,以確保在運(yùn)行時產(chǎn)生問題之前就能識別出任何與配置相關(guān)的問題。它還提供了 JSFTimer組件來執(zhí)行JSF生命周期的性能分析。它可被應(yīng)用于跟蹤JSF生命周期的每個階段對于一個指定的web請求的響應(yīng)時間,并斷言該響應(yīng)時間在SLA限定之內(nèi)。

JSFUnit支持RichFaces 和Ajax4jsf 組件。此框架的Beta 1版本在上月發(fā)布,第二Beta版本計劃在下個月末發(fā)布。

Shale 測試框架作為一個Apache項(xiàng)目,提供了對Servlet和JSF組件的mock對象實(shí)現(xiàn)。這些基礎(chǔ)的測試類可應(yīng)用于測試Shale框架類以及構(gòu)建于該框架之上的JSF應(yīng)用組件。Shale測試可用于編寫?yīng)毩⒌膯卧獪y試來運(yùn)行ViewController 接口暴露的方法。因?yàn)闉橐粋€ViewController 組件搭建運(yùn)行環(huán)境很復(fù)雜,所以Shale測試是很有用的。以下是Shale測試框架的主要類:
◆AbstractJsfTestCase:這是對web應(yīng)用的Servlet和JSF組件進(jìn)行單元測試的基礎(chǔ)測試類
◆AbstractViewControllerTestCase: 這個類作為AbstractJsfTestCase的擴(kuò)展,提供了對使用Viewcontroller實(shí)現(xiàn)類的常用場景進(jìn)行測試所需的有效方法。
◆還有其它JSF web組件的mock實(shí)現(xiàn),叫做為MockApplication,MockExternalContext和MockFacesContext。

Shale測試還與Spring框架進(jìn)行了集成,允許JSF組件被綁定為管理bean或Spring bean。

JSF Extensions項(xiàng)目是一個無UI組件的集合,它擴(kuò)展了基于JSF 1.2的web應(yīng)用的功能。它使用JUnit,HTMLUnit和Cactus進(jìn)行自動測試??蚣艿腡est-Time模塊為JSF 1.2提供mock對象。Design-Time模塊具有JSF熱部署功能,能停止和重啟應(yīng)用而無需經(jīng)歷構(gòu)建和重部署周期。這個基于JSF PhaseListener接口的特性會使得所有的配置文件和類被重載。這些使得開發(fā)者能在編寫JSF應(yīng)用時遵循一種測試驅(qū)動迭代JSF開發(fā)方式。

工具

還有一些開發(fā)工具也輔助JSF應(yīng)用的開發(fā)和性能檢測。JInspired 組的JXInsight提供了JSF跟蹤和性能檢測特性,該特性基于PhaseListener接口。在JSF應(yīng)用中使用這個跟蹤監(jiān)聽器,開發(fā)者和web 管理員可以對于一個JSF請求收集到例如跟蹤棧、java調(diào)用棧和運(yùn)行時UIComponent的層次關(guān)系等信息。

Eclipse WTP 項(xiàng)目里的JSF工具的子項(xiàng)目還提供了支持開發(fā)和部署基于JSF的web應(yīng)用的工具,如Visual JSF Page Editor和Faces Config Editor。

【編輯推薦】

  1. ESRI為什么選擇JSF
  2. 從JSF的切入點(diǎn)控制JSF
  3. 編寫JSF框架自定義UI組件
  4. JSF界面組件套裝RichFaces 3.3.1 GA版發(fā)布
  5. 構(gòu)建Ajax JSF事件驅(qū)動
責(zé)任編輯:佚名 來源: IT專家網(wǎng)論壇
相關(guān)推薦

2011-05-31 18:09:05

動態(tài)測試

2009-03-31 09:49:40

Rational功能測試性能測試

2011-05-31 18:25:25

測試工具

2013-11-13 10:49:50

2023-12-27 07:35:29

HyBench數(shù)據(jù)字段

2010-06-04 16:31:33

Linux網(wǎng)絡(luò)測試

2014-07-01 10:09:01

2019-02-26 08:30:48

2012-12-24 22:54:31

2009-06-22 15:52:15

JSF測試框架

2024-03-06 18:09:06

Linux性能工具

2011-04-18 14:28:43

測試工具軟件測試軟件工程

2021-09-06 15:32:51

CISAKubernetes測試工具

2009-12-16 10:07:26

Visual Stud

2010-06-11 11:35:55

Linux串口測試工具

2012-08-01 10:50:48

性能測試測試架構(gòu)

2012-02-09 09:35:46

NUnit

2010-06-04 16:07:09

Linux 性能測試工

2010-06-07 14:42:47

Linux性能測試工具

2022-01-24 16:55:09

LinuxTCP工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號