Gradle Skip Test

Vis*_*ngh 3 android gradle build.gradle android-gradle-plugin

我正在寻找一种方法来跳过多构建项目中的一个项目的测试.我不想使用gradle build -x测试,因为它会跳过所有子项目的测试.

  • Sub P1
    • 的build.gradle
  • Sub P2
    • 的build.gradle
  • Sub P3
    • 的build.gradle
  • 的build.gradle
  • settings.gradle

我想跳过只有"Sub P3"的测试

我可以配置我的项目(Sub P3)构建文件以跳过测试吗?

Sta*_*lav 6

由于官方用户指南,有3种方法可以跳过gradle中的某些任务.

前两个是:使用谓词和异常抛出.谓词在配置阶段得到解决,可能无法满足您的要求.StopExecutionExeption投掷可以添加到doFirst每个测试中,并根据某些条件投掷.位似乎不是很清楚,因为您必须修改根脚本以设置条件和子对象sripts测试任务.

第三个是 - 禁用任务.每个任务都有一个enabled属性(默认为true),如果它被设置为false,则阻止任务执行.您唯一需要做的就是在子项目中为测试任务设置此属性.这可以在子项目构建脚本root中完成,如:

test.enabled = false
Run Code Online (Sandbox Code Playgroud)

如果您没有指定自定义测试任务,这将有效,您可以按任务类型禁用所有测试,如下所示:

project(':subProject').tasks.withType(Test){
    enabled = false
}
Run Code Online (Sandbox Code Playgroud)

预览2配置必须包含在子项目的构建脚本中,但由于您有根项目,因此可以通过project()提供子项目的名称从其构建脚本配置子项目:

project(':subProject').tasks.withType(Test){
    enabled = false
}
Run Code Online (Sandbox Code Playgroud)