2013-04-11 26 views
3

我正在使用Arquillian來測試針對Glassfish的Java EE應用程序,到目前爲止我面臨性能問題,每個測試用例需要一分多鐘才能完成,有60個測試用例意味着一個小時跑。因此構建需要更多的時間。運行多個測試時優化Arquillian性能

我知道運行一個測試用例可能需要這段時間來啓動一個glassfish容器,創建和部署一個war文件。

是否有辦法在每個項目下分組測試用例,添加所有類,創建單個部署歸檔並在單個部署中運行多個測試,就好像它們是單個測試類一樣?

回答

-1

使用一個測試套件(@Suite)和設置的Arquillian容器中@BeforeClass標註的方法

看到http://www.mkyong.com/unittest/junit-4-tutorial-5-suite-test/

編輯:

如果您所有的類擴展的AbstractTestClass其申報@BeforeClass只有在尚未完成時初始化容器的註釋方法?

+0

感謝,但作爲測試套件需要@RunWith(Suite.class),而需要的Arquillian @RunWith(Arquillian.class) – mmohab 2013-04-12 13:19:09

+0

@mmohab看到編輯 – Gab 2013-04-12 13:22:41

+0

哎瞎扯,的Arquillian不使用@BeforeClass它不工作的方式( )來創建部署,而不是它有@Deployment(),試圖在Suite類中使用它,但測試用例沒有運行。 – mmohab 2013-04-12 17:57:47

1

您是否使用嵌入式glassfish實例?因爲運行遠程實例應該更快。

+0

是我正在使用嵌入式glassfish,包含大約4個測試用例的單個測試類需要超過1分鐘運行。 – mmohab 2013-04-17 15:23:18

+0

我想即使我使用遠程實例,測試仍然會很慢。爲每個測試用例創建一個戰爭存檔並部署它很慢。我需要將多個測試用例打包到一個存檔中並運行一次。 – mmohab 2013-04-17 15:44:00