2012-06-19 28 views
2

我們正在開發基於嵌入式Infinispan數據網格集羣的應用程序。在我們應用程序的目標環境中,數據網格的每個成員都將在獨立的JVM中運行,並且使用jgroup將形成羣集(實際上由Infinispan完成)。Maven + Surefire/Failsafe - forkMode =「perthread」不工作...解決方法?

對於做在我們用maven-surefire-plugin(或maven-failsafe-plugin)正與該配置該數據格一些自動測試:

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <configuration> 
     <forkMode>perthread</forkMode> 
     <threadCount>4</threadCount> 
    </configuration> 
</plugin> 

由於這種構造應該創建每每個測試用例類叉子(使用4個並行處理)我們創建了4個測試類,其中每個類將模擬一個集羣成員。裏面每個測試用例類,我們將在平行的測試方法由於運行TestNG的是這樣幾個主題:

@Test(threadPoolSize = 3, invocationCount = 2, timeOut = 10000, testName="Test 1") 
public void testSomething() throws Throwable { ... } 

的問題是,maven-surefire-pluginforkMode="perthread"threadCount=4是越野車:它不每班而是創建一個叉幾次同班的叉子。所以,在我的場景中,它需要一個測試用例,並行運行4次!

注意:檢查jira錯誤here請投票!!!!

是否有人知道這方面的解決方法?我們正在使用ant做一些努力,但變得非常混亂。

+1

我發現這個問題與'Maven的萬無一失,plugin'!轉到代碼中的jira bug來檢查解決方案! – ggarciao

+0

你應該發佈答案並接受答案,沒有問題沒有答案。 –

+0

我發現問題與maven-surefire插件,這並不意味着我解決它(我不是在surefire項目中的提交者)。出於這個原因,我認爲解決方法可能會有所幫助 – ggarciao

回答

相關問題