4

我無法獲得使用Maven + Surefire組合一次執行兩個以上的線程。我已經嘗試了許多threadCount,perCoreThreadCount和useUnlimitedThreads設置的組合,但永遠不會比兩個線程做得更好。見附件截圖:將會有〜12個Firefox窗口,但一次只有兩個「駕駛」。我如何獲得超過2個線程來執行Surefire + Maven?

enter image description here

我的機器有4個核在其2.6GHz的i7處理器,所以它不是像我應該打一個硬件限制呢。

這裏的神火配置之一的例子:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-surefire-plugin</artifactId> 
      <version>2.7.2</version> 
      <configuration> 
       <includes> 
        <include>**/*Test*.*</include> 
       </includes> 
       <threadCount>10</threadCount> 
       <perCoreThreadCount>true</perCoreThreadCount> 
       <parallel>classes</parallel> 
      </configuration> 
     </plugin> 

對於我的測試中,我使用Scala的封裝在JUnit亞軍。每個測試都在自己的課堂上。我的JUnit是4.10,Maven 3.04我認爲。

+1

我不認爲這些選項對'神火的2.7.2'工作。你嘗試過切換到最新版本嗎? –

+0

最新版本是什麼?看起來我們的團隊正在朝着使用ScalaTest跑步者的方向發展,該跑步者在我們的測試中具有更有效的並行支持。 –

+0

最新版本始終位於[插件網站] [1]的頂部RHS。也就是'2.12.4' [1]:http://maven.apache.org/surefire/maven-surefire-plugin/ –

回答

0

嘗試將MAVEN_OPTS = -Dmaven.artifact.threads = 10定義到Maven環境變量中。

或者在執行mvn時使用參數「-T」。

實例:

MVN -T 4清潔安裝#與4個線程

構建MVN -T 1C乾淨安裝#每個CPU核心1螺紋

MVN -T 1.5C乾淨安裝#1.5線程每CPU的核心

看到你可以指定線程的數量,甚至核心的數量,因爲你使用Maven 3.x.

有關詳細信息,看看這個鏈接:https://cwiki.apache.org/confluence/display/MAVEN/Parallel+builds+in+Maven+3

希望它能幫助!

0

FWIW我有類似的問題。原來我試圖運行來自不同JUnit類別的測試類,但設置類似於

每個類別中的類確實是並行執行的,但類別是連續執行的。

我結束了更新我的故障安全配置

<configuration> 
    <parallel>suitesAndClasses</parallel>       
    <useUnlimitedThreads>true</useUnlimitedThreads> 
    <threadCountClasses>4</threadCountClasses> 
</configuration> 
相關問題