使用TestNG和gradle并行运行测试

时间:2015-09-30 12:51:34

标签: groovy gradle testng

我试图并行运行我的TestNG测试,但它们似乎只是运行单线程。我正在尝试使用带有默认内置gradle包装器和Java 1.8.0_45的IntelliJ 14.1.4 Community Edition来运行它们。

我也尝试过使用独立的gradle-2.5。

我当前的build.gradle文件的测试部分如下所示:

test {
    systemProperties System.getProperties()
    useTestNG() {
        parallel 'tests'
        threadCount 3
    }
}

我也尝试过:

test {
    systemProperties System.getProperties()
    useTestNG {
        options {
            parallel = 'tests'
            threadCount = 3
        }
    }
}

test {
    systemProperties System.getProperties()
    useTestNG {
        options ->
            options.parallel = 'tests'
            options.threadCount = 3
    }
}

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

我需要使用'methods'而不是'tests',因为我只使用-Dtest.single=TestClassName运行一个测试类,期望在其中运行所有@Test方法平行。

相关文件:

  

parallel="methods":TestNG将在不同的线程中运行所有测试方法。依赖方法也将在单独的线程中运行,但它们将遵循您指定的顺序。

     

parallel="tests":TestNG将在同一个线程中的相同<test>标记中运行所有方法,但每个<test>标记将位于单独的线程中。这允许您在同一个<test>中对所有非线程安全的类进行分组,并保证它们将在同一个线程中运行,同时利用TestNG尽可能多的线程来运行测试。

     

来自:http://testng.org/doc/documentation-main.html#parallel-tests