我正在尝试使用maven-surefire-plugin中的并行选项一次运行多个测试类。以下是我的配置:
<configuration>
<argLine>-Xmx1024m -XX:MaxPermSize=1024m</argLine>
<excludes>
<exclude>**/Test*.java</exclude>
</excludes>
<runOrder>hourly</runOrder>
<parallel>classes</parallel>
<threadCountClasses>5</threadCountClasses>
</configuration>
它很明显正在执行并行测试类,但它做的远远超出了我的预期。我看到它一次跳到大约40个测试类被执行,尽管设置了threadCountClasses为5。我是否误解了这些选项的工作方式?我的愿望是任何时候只有五个测试类在执行。目前,它用40个测试类阻塞了我的系统。
我当前正在运行插件版本2.17。
编辑:这里有没有可能涉及CPU核心数?经过更仔细的计算,我意识到我正在使用此配置运行确切的40个测试类,并且我有8个核心。如果CPU核心不参与其中,那么这似乎是一个巧合。