多數 Struts 應用程序不會 很快消失,所以重要的是知道如何在重寫之前用開發人員測試構建一定層次的保證。這個月,我介紹了在測試 Struts 遺留應用程序時的一些挑戰,并介紹了如何用 StrutsTestCase 和 DbUnit 處理它們。
StrutsTestCase 只要配置正確就會處理 Struts 的工作,而 DbUnit 處理與數據庫有關的代碼的工作。一起使用這兩個框架,可以在 Struts 應用程序上進行集成級別的測試,而不用通過更高層次的框架(例如 JWebUnit 或 Selenium)模擬瀏覽器(也是一個值得采用的方法,但是生成的結果非常不同。)
Struts 應用程序對測試來說是 具有挑戰性的,并且沒有解決的方法。這個困難是 Struts 框架被更加創新的框架所掩蓋的原因之一,特別是那些解決了測試容易問題的框架。另一方面,就像我在這里介紹的,測試 Struts 是 可能的 —— 只是需要費些力氣。
學習
- 您可以參閱本文在 developerWorks 全球站點上的 英文原文 。
- “StrutsTestCase 簡化開發過程” (Sunil Patil,developerWorks,2005 年 1 月):介紹了 StrutsTestCase 框架并解釋了如何用 Mock 和 Cactus 方法測試示例應用程序。
- “Effective Unit Testing with DbUnit”(Andrew Glover,OnJava,2004):Andrew Glover 介紹了 DbUnit。
- “用 DbUnit 和 Anthill 控制測試環境”(Philippe Girolami,developerWorks,2004 年 4 月):學習如何結合使用 DbUnit 和 JUnit 來控制測試環境。
- “追求代碼質量: 軟件架構的代碼質量”(Andrew Glover,developerWorks,2006 年 4 月):使用耦合測量支持系統架構。
- “測試遺留代碼”(Elliotte Rusty Harold,developerWorks,2006 年 4 月):在從未測試過的遺留代碼上犯難時要做什么。
- “Hip system tests with Cargo”(Andrew Glover,thediscoblog.com,2006 年 4 月):介紹了一個方便系統測試的 Web 容器管理框架。
- Java 技術專區:數百篇 Java 編程各方面的文章。
獲得產品和技術
- StrutsTestCase:標準 JUnit TestCase 類的擴展,方便基于 Struts 框架的測試代碼。
- DbUnit:一個 JUnit 擴展(用 Ant 可以重用),在測試運行中把數據庫放在已知狀態。
- Shale:下一代 Struts。
- Selenium:Web 應用程序的測試工具,直接在瀏覽器中運行測試,就像真正的用戶那樣。
討論
- 參與論壇討論。
- developerWorks blogs:加入 developerWorks 社區!
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/