下一頁 1 2 3
閱讀提要 StrutsTestCase是一個強有力的易于使用的針對Struts行為的測試框架。StrutsTestCase,并與傳統型JUnit測試相結合,將會帶給你一個相當高的測試覆蓋率并提高你的產品的可靠性。
一、引言
StrutsTestCase是一個用于測試Struts行為的基于Junit的測試框架。如果你使用Struts,那么你會注意到它可以提供給你一種容易而有效的方式來測試你的應用程序的Struts行為類。
典型的J2EE應用程序都是分層構建的,如圖1所示。
·DAO層封裝了數據庫存取。Hibernate映射和對象類,Hibernate查詢,實體EJBs,或一些其它的實體-關系持續性技術都可以在這一層找到。
·商業層包含更高級的商業服務。理想地,這個商業層將是相對獨立于數據庫實現。在這個層上經常使用會話EJBs。
·描述層包含為用戶顯示應用程序數據并解釋用戶請求。在一個Struts應用程序中,這一層典型地使用JSP/JSTL頁面來顯示數據并且使用Struts行為來解釋用戶查詢。
·客戶層基本上是運行于用戶機器上的web瀏覽器?蛻舳诉壿(例如,JavaScript)有時被放在這里,盡管很難對其進行有效地測試。
圖1.典型的J2EE架構
DAO和商業層的測試或者可以通過使用經典的JUnit測試或者使用各種JUnit擴展來進行,具體依賴于架構的實現細節。DbUnit是一種用來進行數據庫單元測試的良好選擇。
另一方面,測試Struts行為總是很困難的事情。即使在商業層嚴格地限制于商業層的構建時,Struts行為也總要包含重要數據校驗,轉換和流程控制代碼。不對Struts行為進行測試將會在代碼覆蓋率上留下一道很臟的鴻溝。StrutsTestCase會讓你填充這條鴻溝。
對行為層進行單元測試還帶來其它一些益處:
·可以更好地規劃視圖和控制層,從而使之更為簡單清晰。
·更容易重構行為類。
·避免冗余的未使用的行為類。
·測試實例有助于對行為層進行歸檔-這在創建屏幕時是很有用的。
上面是基于測試開發的典型好處,并且它們可以應用于在各種情況下使用的Struts行為層。
二、StrutsTestCase簡介
StrutsTestCase工程提供了一種靈活又方便的方法來從JUnit框架內測試Struts行為。它能夠使你對你的Struts行為進行白色盒子測試-通過在調用行為后建立請求參數并檢查結果Request或Session的狀態。
StrutsTestCase允許或者是一個模仿測試方式-這時框架模擬web服務器容器,或者是一個容器內方式-這時使用Cactus框架來從服務器容器(例如Tomcat)內部運行測試。一般地,我比較喜歡模仿測試方式,因為它更為輕量級的且運行更快些,并因此允許較寬松的開發周期。
所有的StrutsTestCase單元測試類或者派生于MockStrutsTestCase以進行模仿測試,或者派生于CactusStrutsTestCase以進行容器內測試。在此我們先討論模仿測試,因為它要求較少的配置并且運行較快些。
文章來源于領測軟件測試網 http://www.kjueaiud.com/
版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
技術支持和業務聯系:info@testage.com.cn 電話:010-51297073
老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月