You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Studio项目单元测试触发位置及Gradle自动执行配置

Android单元测试触发方式与自动执行配置

一、Android Studio内手动触发单元测试的几种方式

  • 通过Gradle面板运行任务:打开右侧Gradle面板,找到你的应用模块(通常是app),展开Tasks > verification,双击testDebugUnitTest(Debug变体)或testReleaseUnitTest(Release变体)即可运行对应版本的单元测试。
  • 右键单独运行测试:打开src/test/java下的测试文件,右键点击测试类、单个测试方法或者文件空白处,选择Run 'XXXTest'就能单独执行这个测试类或方法。
  • 通过菜单栏执行全量测试:点击顶部菜单栏Run > Run 'All Tests',可以一次性执行所有单元测试。

二、持续集成系统中触发单元测试

在CI脚本(比如GitHub Actions、GitLab CI、Jenkins等)里,执行对应的Gradle命令就行:

  • 跑所有变体的单元测试:./gradlew test
  • 指定变体运行:./gradlew testDebugUnitTest 或者 ./gradlew testReleaseUnitTest

三、配置Gradle实现构建自动跑测试,失败即终止

默认情况下,构建任务(比如assembleDebug)不会自动触发单元测试,需要通过任务依赖来绑定,同时配置测试失败终止构建。在应用模块的build.gradle或build.gradle.kts里添加以下配置:

Groovy语法(build.gradle)

android {
    buildTypes {
        debug {
            // 构建Debug包前先跑Debug单元测试
            tasks.named("assembleDebug").configure {
                dependsOn "testDebugUnitTest"
            }
        }
        release {
            // 构建Release包前先跑Release单元测试
            tasks.named("assembleRelease").configure {
                dependsOn "testReleaseUnitTest"
            }
        }
    }
}

// 所有测试任务失败时终止构建
tasks.withType(Test) {
    // 第一个测试失败就停止执行,不浪费时间
    failFast = true
    // 测试失败直接终止整个构建
    ignoreFailures = false
}

Kotlin语法(build.gradle.kts)

android {
    buildTypes {
        getByName("debug") {
            tasks.named("assembleDebug") {
                dependsOn("testDebugUnitTest")
            }
        }
        getByName("release") {
            tasks.named("assembleRelease") {
                dependsOn("testReleaseUnitTest")
            }
        }
    }
}

tasks.withType<Test> {
    failFast = true
    ignoreFailures = false
}

补充说明:

  • 如果想让build这类全量构建任务触发所有测试,可以加一句tasks.named("build").configure { dependsOn "test" },但这样会跑所有变体的测试,耗时会更长。
  • failFast = true可以在第一个测试失败时就停止,避免无意义的后续测试;ignoreFailures = false确保测试失败时构建直接终止,不会生成APK。

内容的提问来源于stack exchange,提问作者Ralf Wickum

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 11:35:22