• 軟件測試技術
  • 軟件測試博客
  • 軟件測試視頻
  • 開源軟件測試技術
  • 軟件測試論壇
  • 軟件測試沙龍
  • 軟件測試資料下載
  • 軟件測試雜志
  • 軟件測試人才招聘
    暫時沒有公告

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

基于Mock對象和AOP技術進行Struts應用程序單元測試開發

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

領測軟件測試網

一、引言

        測試驅動開發在減少開發努力的同時也改進了軟件的開發質量。單元測試,作為一整套測試策略的基礎,必須是全面的,且要求易于建立和執行迅速。然而,對執行環境和被測試類外部代碼的依賴性使我們實現這些目標變得更為復雜。例如,把應用程序發布到容器將顯著地延長代碼和測試的周期;而對其它類的依賴性通常也會導致測試的建立更加復雜和測試運行速度更為緩慢。

        集成兩個流行的測試框架(StrutsTestCase和EasyMock)來單元測試Struts應用程序將會更為容易地建立測試并加快測試速度。然而,這兩個框架之間尚存在一些“隔閡”,從而很難把它們理想地集成到一起。在本文中,我將通過分析兩種方案(一個面向對象的方案和一個面向方面的方案)來探討這個問題。同時,我還將展示面向方面編程(AOP)是如何通過簡化一些看起來很困難的問題的解決方案而進一步補充面向對象編程(OOP)的。

二、集成需要

        一個典型的Struts應用程序既能夠展示也其所使用的執行環境也會體現出類之間的依賴性問題;這是因為Struts行為(Action)是在一個servlet容器內執行的,并且典型情況下會調用其它的類來處理請求。模擬對象測試方法有助于消除其中不必要的依賴性。借助于繼承自基本JUnit測試集的MockStrutsTestCase類,StrutsTestCase測試框架提供了對servlet容器的一種模擬實現。這顯然方便了容器外測試,因而也相應地加快了單元測試周期。另一方面,另一個測試框架—EasyMock—進一步便利了對協作類的動態模擬(Mock)。這個框架中所提供的模擬能夠用更簡單的實現來代替真正的類,并且添加了校驗邏輯以支持單元測試。

        非常清楚,把這兩個框架結合在一起是非常有益的—Struts應用程序便可以在非常真實的隔離環境下進行測試。理想情況下,你需要使用下列步驟來實現這樣的一個單元測試:

1.建立MockStrutsTestCase以便模擬servlet容器。

2.借助于EasyMock來模擬行為所依賴的類。

3.設置模擬的期望值。

延伸閱讀

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

TAG: aop AOP Mock MOCK mock struts Struts 單元 應用程序

21/212>

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

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

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97