如何在Android项目中排除app模块的插桩测试?
解决Android Gradle中app模块connectedDebugAndroidTest任务仍执行的问题
1. 显式禁用app模块的插桩测试任务
在app模块的build.gradle.kts中添加配置,强制禁用相关测试任务:
// 禁用所有AndroidTest类型的任务 tasks.withType<AndroidTest>().configureEach { enabled = false } // 或者仅针对connectedDebugAndroidTest任务 tasks.named("connectedDebugAndroidTest") { enabled = false }
即使移除了测试目录和依赖,Gradle仍可能默认生成这些任务,显式禁用可确保它们不会被执行。
2. 直接指定目标模块的测试任务
不要使用根任务connectedAndroidTest,而是直接执行子模块的测试任务:
./gradlew :module1:connectedDebugAndroidTest :module2:connectedDebugAndroidTest
根任务会触发所有模块的对应测试任务,直接指定子模块任务就能跳过app模块的测试流程。
3. 排查项目级配置与CI脚本
- 检查根目录
settings.gradle.kts,确认没有强制将app模块的测试任务关联到全局测试流程; - 查看CI流水线脚本,是否有额外逻辑触发了app模块的
connectedDebugAndroidTest任务; - 排查是否有第三方插件(如测试报告、自动化测试插件)自动为app模块添加了测试任务依赖。
4. 清理Gradle缓存并重新同步
执行以下命令清理缓存并刷新依赖:
./gradlew clean build --refresh-dependencies
旧的Gradle缓存可能残留已移除的任务配置,清理后重新同步可消除这类问题。
内容的提问来源于stack exchange,提问作者Bitwise DEVS
相关产品推荐
相关产品推荐

