android - Gradle 跳过测试

标签 android gradle android-gradle-plugin build.gradle

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

  • 副P1
    • build.gradle
  • 副P2
    • build.gradle
  • 副P3
    • build.gradle
  • build.gradle
  • settings.gradle

我只想跳过“Sub P3”的测试

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

最佳答案

由于official user guide ,有 3 种方法可以跳过 gradle 中的某些任务。

前两个是:使用谓词和异常抛出。谓词在配置阶段得到解决,可能不会满足您的要求。 StopExecutionExeptionthrow 可以添加到每个测试的doFirst 中,并根据某些条件进行抛出。有点不太清楚,因为你必须修改根脚本来设置条件和子项目脚本测试任务。

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

test.enabled = false

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

project(':subProject').tasks.withType(Test){
    enabled = false
}

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

project(':subProject').tasks.withType(Test){
    enabled = false
}

关于android - Gradle 跳过测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33434107/

相关文章:

javascript - 尝试在 AlertDialog 中查看时,HelloCharts 生成空对象引用

android - 为什么我在 RecyclerView 中的 ImageView 在滚动回(使用 Glide)时有时会调整大小?

dependencies - gradle 对另一个非子项目的依赖

android - 如何在我的Android Studio项目的SVN中存储Gradle的外部依赖关系?

android - 如何对齐 ListView 列表项中的值?

android - Retrofit 是否在主线程上进行网络调用?

gradle - 如何排除模块 cxf-rt-transports-http

android - 如何检查模块的 build.gradle 中的构建变体

java - Android Studio - 将字节码转换为 dex 时出错,原因 : Dex cannot parse version 52 byte code

android - 无法下载 gradle.jar