繁体   English   中英

Gradle 并行运行 TestNG 套件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM