偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

簡(jiǎn)述JSF測(cè)試框架

開(kāi)發(fā) 后端
本文介紹JSF測(cè)試框架,包括介紹JSF測(cè)試框架需要具備的特性和測(cè)試框架的分類(lèi)等。

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

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

與其它的單元測(cè)試框架一樣,一個(gè)典型的JSF測(cè)試框架需要具備以下特性:
◆可在容器之外獨(dú)立的運(yùn)行一個(gè)測(cè)試用例,可從一個(gè)類(lèi)似Eclipse 或NetBeans的IDE里面運(yùn)行測(cè)試用例,以促進(jìn)測(cè)試驅(qū)動(dòng)開(kāi)發(fā)(TDD)。
◆可測(cè)試完整的HTTP請(qǐng)求-響應(yīng)生命周期。
◆與構(gòu)建工具如Ant或Maven集成 ,從而在一個(gè)自動(dòng)構(gòu)建和持續(xù)集成的環(huán)境下運(yùn)行單元測(cè)試。
       
測(cè)試框架還需支持JSF的特定需求,如:
◆在測(cè)試方法中調(diào)用JSF API,而不是檢查HTML輸出或客戶端DOM對(duì)象。
◆通過(guò)驗(yàn)證用戶在表單上的輸入和訪問(wèn)正確的頁(yè)面視圖來(lái)導(dǎo)航測(cè)試。
◆驗(yàn)證action是否按預(yù)期執(zhí)行,以及錯(cuò)誤情況是否顯示預(yù)期的錯(cuò)誤消息。
◆即使rendered屬性被設(shè)置為假(組件不在web瀏覽器上渲染但仍在服務(wù)器端保存狀態(tài))時(shí)依然可以驗(yàn)證JSF組件。
◆驗(yàn)證XML配置文件(faces-config.xml 等)是否被正確加載。
 
JSF測(cè)試框架

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

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

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

Shale 測(cè)試框架作為一個(gè)Apache項(xiàng)目,提供了對(duì)Servlet和JSF組件的mock對(duì)象實(shí)現(xiàn)。這些基礎(chǔ)的測(cè)試類(lèi)可應(yīng)用于測(cè)試Shale框架類(lèi)以及構(gòu)建于該框架之上的JSF應(yīng)用組件。Shale測(cè)試可用于編寫(xiě)?yīng)毩⒌膯卧獪y(cè)試來(lái)運(yùn)行ViewController 接口暴露的方法。因?yàn)闉橐粋€(gè)ViewController 組件搭建運(yùn)行環(huán)境很復(fù)雜,所以Shale測(cè)試是很有用的。以下是Shale

測(cè)試框架的主要類(lèi):

AbstractJsfTestCase:這是對(duì)web應(yīng)用的Servlet和JSF組件進(jìn)行單元測(cè)試的基礎(chǔ)測(cè)試類(lèi)
AbstractViewControllerTestCase: 這個(gè)類(lèi)作為AbstractJsfTestCase的擴(kuò)展,提供了對(duì)使用Viewcontroller實(shí)現(xiàn)類(lèi)的常用場(chǎng)景進(jìn)行測(cè)試所需的有效方法。
還有其它JSF web組件的mock實(shí)現(xiàn),叫做為MockApplication,MockExternalContext和MockFacesContext。

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

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

工具

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

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

【編輯推薦】

  1. 簡(jiǎn)述JSF入門(mén)介紹
  2. JSF和Struts的區(qū)別概述
  3. 編寫(xiě)JSF自定義復(fù)合組件的原則和技巧
  4. 選擇JSF不選Struts的十大理由
  5. Tapestry和JSF對(duì)比
責(zé)任編輯:佚名 來(lái)源: 中國(guó)IT實(shí)驗(yàn)室
相關(guān)推薦

2009-06-22 14:13:08

JSF入門(mén)

2009-06-22 13:27:01

JSF組件模型

2009-06-23 09:53:10

JSF程序配置

2009-06-22 13:48:45

JSF是什么

2009-06-24 11:39:45

學(xué)習(xí)JSF

2009-06-26 14:06:08

JSF基礎(chǔ)框架

2009-06-23 15:51:00

JSF框架

2009-06-26 10:22:58

JSF測(cè)試

2009-06-23 09:05:10

Seam框架JSF

2009-06-23 14:01:27

StrutsTapestryJSF

2009-06-25 17:14:59

JSF框架

2009-06-25 14:53:35

自定義UI組件JSF框架

2009-06-22 16:24:33

JSF框架中使用的設(shè)計(jì)

2009-06-24 17:21:23

JSF框架設(shè)計(jì)模式

2009-09-29 10:37:29

Hibernate持久

2011-03-24 11:37:41

Hibernate

2009-06-26 17:48:38

JSF項(xiàng)目單元測(cè)試JSFUnit

2009-07-03 14:46:42

JSP開(kāi)發(fā)框架JSFTapestry

2011-12-06 09:21:12

JavaJSF

2016-12-22 13:32:04

服務(wù)化框架JSF解密
點(diǎn)贊
收藏

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