我們正在開發基於嵌入式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-plugin
forkMode="perthread"
和threadCount=4
是越野車:它不每班而是創建一個叉幾次同班的叉子。所以,在我的場景中,它需要一個測試用例,並行運行4次!
注意:檢查jira錯誤here。 請投票!!!!
是否有人知道這方面的解決方法?我們正在使用ant
做一些努力,但變得非常混亂。
我發現這個問題與'Maven的萬無一失,plugin'!轉到代碼中的jira bug來檢查解決方案! – ggarciao
你應該發佈答案並接受答案,沒有問題沒有答案。 –
我發現問題與maven-surefire插件,這並不意味着我解決它(我不是在surefire項目中的提交者)。出於這個原因,我認爲解決方法可能會有所幫助 – ggarciao