我有一组TestNG测试用例我希望并行运行。 我没有使用TestNG套件XML文件。
根据http://maven.apache.org/surefire/maven-surefire-plugin/examples/testng.html#Running_tests_in_parallel, 我可以在项目POM文件中的surefire配置中指定parallel和threadCount参数。
但这不起作用。 测试用例仍在按顺序运行。
我可以在不使用套件XML文件的情况下并行运行测试用例吗?
Surefire插件版本 - 2.21.0 TestNG版本 - 6.8.21
我在POM文件中的surefire配置中使用了以下行
<parallel>classes</parallel>
<useUnlimitedThreads>true</useUnlimitedThreads>
答案 0 :(得分:0)
是的,您可以使用methods / classes
并行运行测试maven-surefire-plugin
(即不使用套件xml)。
如果您想并行运行测试方法,请使用以下配置。
<configuration>
<parallel>methods</parallel>
<threadCount>10</threadCount>
</configuration>
如果您想并行运行测试类,请使用以下配置。
<configuration>
<parallel>classes</parallel>
<threadCount>10</threadCount>
</configuration>
运行Maven命令: -
mvn clean test
检查测试方法是否在不同的线程中运行并同时启动: -
请添加以下sysout
以观察行为。您可以稍后注释或删除sysout
。这只是为了理解这种行为。
System.out.println("thread id:" + Thread.currentThread().getId() + "Timestamp :" + LocalDateTime.now());
您可以克隆此repo并运行上面的maven命令来检查结果。