android - 在 Gradle 中的每个构建之前运行单元测试

标签 android unit-testing gradle build.gradle

如何在 Android 项目中配置 build.gradle 以在每次调试或发布构建之前运行我的所有单元测试?我知道我可以使用 dependsOn 设置任务依赖关系,但我如何为单元测试任务指定它?我想为我项目的每个(Android 和纯 Java)模块执行此操作,这可能吗?

最佳答案

您是否有一项特殊任务需要仅运行单元测试?或者您可以将其作为简单的 test(或更一般的 testDebugtestRelease)自由运行?假设您希望在每次调用 assembleDebugassembleRelease 任务时运行 testDebugtestRelease。然后,正如您所注意到的,您可以使用 dependsOn 任务属性。例如这样:

assembleDebug.dependsOn testDebug
assembleRelease.dependsOn testRelease

此配置必须添加到每个 build.gradle 脚本(在项目的每个模块中),您需要的地方。如果你有很多测试任务,你可以这样设置任务依赖:

tasks.assembleRelease.dependsOn {
    project.tasks.findAll { task ->
        task.name.startsWith('testRelease')
    }
}

当然,您可以尝试使用 allprojectssubprojects 在根目录 build.gradle 脚本中设置此依赖项(您可以阅读 here ), 但你也必须在根脚本中应用 android 插件,否则将找不到任务。

关于android - 在 Gradle 中的每个构建之前运行单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35255638/

相关文章:

android - HTC One X - Webview 触摸后变白/空

java - Gradle:从依赖项运行测试

android - 无法访问普通类中的 flavor 类

java - 使用 Gradle 和 Spring Boot 从 Java 引用 Groovy 导致“找不到符号”

PHPUnit:尝试@cover 或@use 不存在的方法

javascript - 开 Jest : how to count call from mock methods called via `call` or `apply` ?

android - 删除 Android EditText 上的左侧填充

java - 无法从 Android 中的 ListView 链接 URL

android - 在 RecyclerView.ViewHolder 中以编程方式创建 View 并向其传递参数

javascript - 尝试在 then 中测试我的 catch block 没有成功