簡體   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