【问题标题】:Gradle : Multiple configurations for Test tasksGradle:测试任务的多种配置
【发布时间】:2020-05-20 11:48:14
【问题描述】:

我的应用中有两种类型的测试如下:

  • 单元测试(测试数量多且执行速度快)
  • 集成测试(少量测试,但每个套件都需要相当长的时间)

我的项目使用 gradle,我希望两组测试同时执行。根据 gradle 的documentation,我可以使用maxParallelForks 配置来并行化执行。但是,由于 gradle 以统计方式将任务分配给工作人员(请参阅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 是否支持上述两种不同的测试配置文件?如果是,我可以并行执行这两个吗?

【问题讨论】:

    标签: unit-testing gradle junit integration-testing


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-24
      • 1970-01-01
      • 1970-01-01
      • 2017-05-20
      相关资源
      最近更新 更多