所以我想让我的testNG类并行运行。我还使用这样的工厂来生成这些testNG类:
@Factory
public Object[] makeTests() {
Object[] tests = new Object[2];
for (int i = 0; i < 2; i++) {
tests[i] = new SampleTestClass(i);
}
return tests;
}
public static void main(String[] args) {
TestNG tng = new TestNG();
tng.setTestClasses(new Class[] {TestEngine.class});
tng.run();
}
我想并行运行这些测试类。但是,当我尝试使用tng.setParallel(XmlSuite.ParallelMode.CLASSES)时,它不起作用。当我指定时,maven surefire插件也没有:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.0</version>
<configuration>
<parallel>classes</parallel>
<threadCount>10</threadCount>
</configuration>
</plugin>
</plugins>
</build>
这种设置测试类的方式是否有并行化的另一种方式?
编辑:找到解决方案,它应该是ParallelMode.INSTANCES。
答案 0 :(得分:0)
我对Maven Surefire也有类似的问题。唯一适用于并行执行的是:
<property>
<name>suitethreadpoolsize</name>
<value>16</value>
</property>
属性,maven-surefire属性的一部分。