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

Compose测试报错:CompletableJob无complete()方法异常排查

问题原因与解决方案

核心问题

这个异常是协程版本不兼容导致的。androidx.compose.ui:ui-test-junit4-android内部依赖了特定版本的kotlinx-coroutines库,而你手动添加的kotlinx-coroutines-test:1.7.1版本和它依赖的版本不匹配,出现了方法签名不一致的问题——CompletableJob的complete()方法在不同版本中定义不同,导致运行时找不到对应方法。

解决方案

1. 移除冲突的协程测试依赖

Compose测试库已经内置了所需的协程测试相关依赖,重复引入不同版本会引发依赖冲突。修改你的build.gradle依赖配置:

testImplementation "junit:junit:4.13.2"
// 移除这一行:androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.1"
androidTestImplementation "androidx.compose.ui:ui-test-junit4-android:1.6.3"
debugImplementation "androidx.compose.ui:ui-test-manifest:1.6.3"

2. 强制统一协程版本(可选,若仍有冲突)

如果移除后还是存在版本不一致问题,可以在build.gradle中强制指定所有依赖使用同一版本的协程库:

configurations.all {
    resolutionStrategy {
        force "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3"
        force "org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3"
    }
}

版本号需与Compose测试库依赖的协程版本一致,你可以通过执行./gradlew app:dependencies查看项目依赖树,找到对应的版本号。

3. 验证操作

  • 同步Gradle项目
  • 执行./gradlew clean清理构建缓存
  • 重新运行测试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 05:42:49