在清單 12 中,我驗證了 清單 2 中的邏輯正確地捕捉到了口令值不匹配的情況。MockStrutsTestCase 類包含一個方便方法可以斷言錯誤條件,這個方法是 verifyActionErrors(),在這個方法中,錯誤 String 被傳遞進來進行驗證。還請注意,數據庫被檢查,這次是根據另一個包含相同值的文件(在這個示例中,username “jane” 有一個未加密的 password “admin”)。
Struts 的集成測試
多數 Struts 應用程序不會 很快消失,所以重要的是知道如何在重寫之前用開發人員測試構建一定層次的保證。這個月,我介紹了在測試 Struts 遺留應用程序時的一些挑戰,并介紹了如何用 StrutsTestCase 和 DbUnit 處理它們。
StrutsTestCase 只要配置正確就會處理 Struts 的工作,而 DbUnit 處理與數據庫有關的代碼的工作。一起使用這兩個框架,可以在 Struts 應用程序上進行集成級別的測試,而不用通過更高層次的框架(例如 JWebUnit 或 Selenium)模擬瀏覽器(也是一個值得采用的方法,但是生成的結果非常不同。)
Struts 應用程序對測試來說是 具有挑戰性的,并且沒有解決的方法。這個困難是 Struts 框架被更加創新的框架所掩蓋的原因之一,特別是那些解決了測試容易問題的框架。另一方面,就像我在這里介紹的,測試 Struts 是 可能的 —— 只是需要費些力氣。
文章來源于領測軟件測試網 http://www.kjueaiud.com/