Gradle : 测试任务的多个配置

Gradle : Multiple configurations for Test tasks

我的应用程序中有两种类型的测试,如下所示:

我的项目使用 gradle,我希望两组测试同时执行。根据 gradle 的 documentation, I can use maxParallelForks config to parallelize the execution. However, as gradle distributes tasks to workers statistically (see here),我所有的集成测试都有可能分配给同一个工作人员。

所以,我真正想要的是在我的 gradle 文件中有两组 test 块,例如:

test {
    include 'org/unit/**'
    exclude 'org/integration/**'
    maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
}

test {
    include 'org/integration/**'
    exclude 'org/unit/**'
    maxParallelForks = Runtime.runtime.availableProcessors().intdiv(2) ?: 1
}

gradle 是否支持上述两种不同的测试配置文件?如果是,我可以并行执行这两个吗?

我假设您将它们都放在同一个源集下:src/main/java/test

我建议专门为集成测试创建一个单独的源集和任务。参见 Configuring integration tests

并且由于您希望并行执行,因此您需要创建一个自定义任务,将您的单元测试任务和集成测试任务提交给 Worker API:https://guides.gradle.org/using-the-worker-api/