gpt4 book ai didi

junit - 使用 gradle 运行并行测试任务

转载 作者:行者123 更新时间:2023-12-02 19:47:04 47 4
gpt4 key购买 nike

我们使用 JUnit 作为测试框架。我们有很多项目。我们使用 gradle(版本 1.12)作为构建工具。为了使用 gradle 并行运行单元测试,我们在测试任务下的每个项目中使用以下脚本。

maxParallelForks = Runtime.runtime.availableProcessors()

例如:

test {    
maxParallelForks = Runtime.runtime.availableProcessors()
}

我们还维护单个 gradle.properties 文件。

是否可以在 gradle.properties 文件中定义 test.maxParallelForks = Runtime.runtime.availableProcessors() 而不是在测试任务下的每个 build.gradle 文件中定义它?

最佳答案

上面接受的答案有效,但是 Gradle 文档 here建议您使用

maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1

我尝试了这两种方法,并在配备 16GB RAM(4 核,超线程)的 2.3 GHz Intel Core i7 Mac Book Pro 上进行了测试

test {
maxParallelForks = Runtime.runtime.availableProcessors()
}

test {    
maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
}

Gradle 文档建议的方法为我们的单元测试套件提供了更快的响应时间:7 分钟与 8 分钟相比(与原来的 13 分钟相比)。此外,我的 Mac CPU 没有被固定,风扇也没有启动。

我假设共享资源上存在争用 - 即使它只是我们正在运行单元测试的机器。

关于junit - 使用 gradle 运行并行测试任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23805915/

47 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com