【问题标题】:Running tests in parallel using TestNG and gradle使用 TestNG 和 gradle 并行运行测试
【发布时间】:2015-12-28 06:27:17
【问题描述】:

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

我也尝试过使用独立的 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
    }
}

【问题讨论】:

    标签: groovy gradle testng


    【解决方案1】:

    我需要使用'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

    【讨论】:

      【解决方案2】:

      【讨论】:

      • 我没有testng.xml 文件。 Gradle 正在为我创建它,结果它一直在正确创建它,我只是有错误的期望。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-25
      • 2021-02-20
      • 2020-11-06
      • 1970-01-01
      相关资源
      最近更新 更多