2011-07-20 134 views
2

我對Java EE 6的應用程序,包含多個組件,這些組件都被打包成獨立的Maven項目工作的集成測試提示:尋找一個Java EE應用程序

  • MyAppInterface - OSGi的模塊,包含實體類,包括JPA和JAX-B註解
  • MyAppRealm - OSGi的模塊,包含自定義的Glassfish的LoginModule和境界
  • MyAppServer - Web應用程序,包含EJB的,EntityFacades,JAX-RS網關,一些管理的JSP
  • MyAppWeb - 不是一切都隨處部署 - Web應用程序,GWT應用程序,通過XML/REST

的原因,他們都在不同的項目中分離是可伸縮性原因與MyAppServer通信。所有其他項目都使用MyAppInterface。一切都在Glassfish 3.1上運行。

現在我想介紹一下集成測試的概念。暫時排除MyAppWeb一段時間,我認爲這將是通過JAX-RS網關測試所有內容的理想選擇。

你會如何做到這一點?

顯然整個堆棧需要在執行測試之前「組裝」,包括後端(數據庫,郵件MTA)。我應該甚至嘗試自動執行此操作嗎?詹金斯構建了一切(但不會自動部署)。

這裏是我的想法:因爲本身每個組件是不是「完整的」,我想沒有點放置測試中的任何項目。相反,我正在考慮添加一個組件MyAppIntegrationTest,只有測試,Jersey Client和MyAppInterface作爲依賴關係。爲了測試,我將構建所有組件,將它們部署在測試glassfish上,然後將URL傳遞到MyAppIntegrationTest並讓它運行測試。

感謝您的想法!

回答

0

我沒有直接的Java EE 6體驗。

然而,作爲一個參考點,在Eclipse插件開發,這是很常見的有單獨的項目/插件/包的(集成)測試。

因此,使用單獨的MyAppIntegrationTest組件來照顧集成測試對我來說非常合適。