2011-10-12 86 views
0

我對於簡單EJB的集成測試有點困惑。如果我想測試EJB的本地接口/無接口,我需要使用Arquillian嗎?我偶然發現了Arquillian,但我從未使用它。我有一個Maven目錄結構/ Glassfish和Eclipse IndigoGlassfish上本地EJB的集成測試

回答

2

如果我想測試EJB的本地接口/無界面做我需要使用的Arquillian?

沒有必要使用Arquillian,但是當你這樣做的時候某些事情會變得更容易。

通常,您只需使用EJB 3.1中提供的EJBContainer API來測試嵌入式容器(與測試運行在相同的JVM中)中的EJB。就嵌入式Glassfish而言,這通常會導致在應用程序的類路徑中找到EJB的部署。

Arquillian允許您執行比在容器中執行測試更多的任務。它管理容器的生命週期,因此除了設置arquillian.xml文件中的屬性之外,不需要編寫任何代碼。它允許您以更容易的方式管理對容器的部署;使用ShrinkWrap API,可以以編程方式對容器執行不同的上下文相關部署。此外,只要Arquillian支持,也可以執行依賴注入(測試富集)。

只需知道嵌入式Glassfish容器對Arquillian的支持,就可以使用嵌入式Glassfish API公開的相同API;通常你最終可能會複製Arquillian的工作,除了在某些特殊情況下。

如果你有興趣看看使用Arquillian的例子,this GitHub project會有所幫助。

0

當你不喜歡嘲笑(就像我一樣),那麼你可以看看ejb3unit(http://ejb3unit.sourceforge.net/),或者試試Arquillian。

我必須說我對「ejb3unit」有很好的體驗。

但是看起來「EJB3unit」的人物從2 - 3年來不是維護。但幾周前,在ejb3unit網站上又有一些活動。

Arquillian不是那麼容易開始。我會說這主要在於文檔,缺少運行示例以及好的東西。

但是,只要你讓你的Arquillian測試運行,Arquillian就開始閃耀!

點擊下面的鏈接,你會發現一步一步上一個教程系列設置的Arquillian:

http://milestonenext.blogspot.de/2012/12/ejb3-integration-test-with-arquillian.html