[英]Gradle run TestNG suites in parallel
我有一组定义测试套件的 TestNG xml 文件。 我试图弄清楚如何使用 gradle 并行运行所有套件。 Essentially looking for the equivalent of running java org.testng.TestNG -suitethreadpoolsize 3 testng1.xml testng2.xml testng3.xml
. 另请注意,在套件中,测试也在那里并行运行。 这可能吗?
你可以试试这个(假设 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
限制。
请注意,所有测试仍然在单独的线程中执行,而不是在单独的进程中,因此例如所有 static 变量等将被共享。 至少我在实验中发现了这种行为。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.