Spock + Gradle。并行测试执行

时间:2017-06-21 10:12:04

标签: gradle fork integration-testing spock

我正在使用 gradle + spock + groovy 进行集成测试。目前我的测试套件执行时间约为1小时。所以我决定考虑并行测试执行。

Gradle可以在forks(maxParallelForks)的帮助下进行并行测试。但在这种情况下,我受到限制(叉子的数量==我的机器上的核心数量)。

Spock本身不支持并行测试执行。

所以我的问题是:有没有类似于maven-surefire-plugin的gradle插件(或测试框架),它们有两个并行测试执行选项(通过Threads和Forks)?

1 个答案:

答案 0 :(得分:2)

实际上,文档说的是关于maxParallelForks

The maximum number of forked test processes to execute in parallel. The default value is 1 (no parallel test execution). It cannot exceed the value of max-workers for the current build.

但是,您可以通过cmdline parameter

增加超过处理器数量的最大工作人员。

--max-workers (incubating)

Sets the maximum number of workers that Gradle may use. For example--max-workers=3. The default is the number of processors.

因此,您可以使用比处理器更多的for来执行,只有在数据驱动的迭代中才能以这种方式并行化。