2013-02-11 33 views
4

你好,我一直在這個谷歌搜索了很多。 我想測試我的JSF應用程序,而無需將其部署到服務器,所以基本上我想要執行模擬測試,如測試。 我以前使用過JSFUnit。如果它可能與JSFUnit本身,如何做到這一點? 是否有任何其他JSF 2.0測試框架易於使用,並且可以模擬運行容器測試而無需容器? [隨名稱請提供一些教程或示例參考] 請幫助!如何測試JSF應用程序而不將其部署到服務器?

+0

你試圖執行什麼樣的測試?單元測試Java代碼?集成 - 測試XHTML視圖行爲? – McDowell 2013-02-11 10:35:30

回答

1

2月更新2018年1H的視頻教程:OpenBrace Limited has closed down,並不再支持其ObMimic產品。

雖然不是專門爲JSF測試而設計的,但Servlet API test-doubles的ObMimic庫可能是合適的。

它提供簡單的Java外部模擬Servlet API對象,它足夠精確並且足夠可配置以便能夠運行JSF servlet。這使您可以測試完整的JSF頁面的GET和POST,而無需部署到服務器或使用容器。

您的測試可以創建和配置每個測試所需的任何Servlet API對象(包括具有任何必需資源,映射等的ServletContext),使用它們來初始化和調用JSF servlet來處理請求,然後檢查結果。您的測試還可以安裝JSF PhaseListeners以訪問FacesContext並在JSF處理期間的適當位置檢查任何相關的JSF數據結構。

ObMimic網站和文檔包括一個"How to Test JSF Pages"指南,其中包含一些詳細信息,包括示例代碼。請注意,除了測試「真正的」JSF頁面,您還可以使用此方法以及特定於測試的JSF頁面,這些頁面只是調用或觸發您嘗試測試的任何JSF代碼(即每個測試都可以安裝任何所需的JSF頁面文本插入到ServletContext中,然後使用JSF servlet來運行它)。

+0

這看起來很酷。不幸的是,ObMimic將mojarra所做的一些Servlet API調用視爲「API歧義」。只有使用ObMimic的付費版本才能處理這些問題。所以作爲一個在容器外部測試JSF的免費解決方案,這是不行的。 :( – 2016-07-19 01:59:04

相關問題