Gradle 并行运行 TestNG 套件
Posted
技术标签:
【中文标题】Gradle 并行运行 TestNG 套件【英文标题】:Gradle run TestNG suites in parallel 【发布时间】:2022-01-23 22:00:48 【问题描述】:我有一组定义测试套件的 TestNG xml 文件。我试图弄清楚如何并行运行所有套件但使用 gradle。本质上是在寻找相当于运行java org.testng.TestNG -suitethreadpoolsize 3 testng1.xml testng2.xml testng3.xml
。另请注意,在套件中,测试也在那里并行运行。这可以吗?
【问题讨论】:
【参考方案1】:你可以试试这个(假设 TestNG xmls 放在src/test/resources
):
dependencies
// your other dependencies
testImplementation 'org.testng:testng:7.4.0'
test
useTestNG()
scanForTestClasses = false
maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
suites ('src/test/resources/testng1.xml','src/test/resources/testng2.xml', 'src/test/resources/testng3.xml')
它将基于 testng xml 配置在并行线程中运行所有测试,但总并发线程数受maxParallelForks
限制。
请注意,所有测试仍然在单独的线程中执行,而不是在单独的进程中,例如所有静态变量等都将被共享。至少我在实验中发现了这种行为。
【讨论】:
以上是关于Gradle 并行运行 TestNG 套件的主要内容,如果未能解决你的问题,请参考以下文章