[英]Kotlin Multiplatform Project Unit Test Issue
今天我刚刚将我的 Android Studio 更新为
Android Studio 3.5.2
Build #AI-191.8026.42.35.5977832, built on October 31, 2019
JRE: 1.8.0_202-release-1483-b49-5587405 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.15.1
我更新了 Android Studio,因为当 kotlin 版本低于 1.3.60 时,它会向我提示错误。
但是我面临单元测试文件的问题。 以前我可以毫无问题地运行单元测试。 现在,当我单击 function 名称(左侧)旁边的运行按钮时,它显示 Nothing Here。
以下是我所有的依赖项
// build.gradle
buildscript {
ext.kotlin_version = '1.3.60'
repositories {
google()
jcenter()
maven { url "https://kotlin.bintray.com/kotlinx" }
}
dependencies {
// classpath 'com.android.tools.build:gradle:3.4.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath "org.jetbrains.kotlin:kotlin-serialization:$kotlin_version"
}
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
apply plugin: 'kotlin-multiplatform'
apply plugin: 'kotlinx-serialization'
kotlin {
targets {
final def iOSTarget = presets.iosX64 // Simulator
fromPreset(iOSTarget, 'iOS') {
binaries {
framework('SharedCode')
}
}
fromPreset(presets.jvm, 'android')
}
sourceSets {
commonMain {
dependencies {
api 'org.jetbrains.kotlin:kotlin-stdlib-common'
implementation "org.jetbrains.kotlin:kotlin-test-common:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-test-annotations-common:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
}
}
iOSMain {
dependsOn commonMain
}
androidMain.dependencies {
api 'org.jetbrains.kotlin:kotlin-stdlib'
}
commonTest {
dependsOn commonMain
}
}
}
在这个新的 Android Studio 和 kotlin 版本中,我是否遗漏了什么。 我已经为此苦苦挣扎了几个小时。 浏览了 web 但似乎找不到任何帮助。
谢谢
就我而言,当我从
Android Studio 3.5.3
和 Kotlin 插件版本v1.3.50-release-Studio3.5-1
到
Android Studio 3.6.3
1.3.71-release-Studio3.6-1
我所有常见的 Kotlin MPP 测试都没有从预期的 IDE 侧函数“绿色”运行中运行,并且也显示了Nothing here消息。
我尝试了几件事,其中之一是完全卸载然后安装,但似乎没有任何效果。
最终对我有用的是(有一些警告):
以确保此处无显示。
然后:
确保测试类型是Class并且您有正确的文件路径。 例如:
com.my.path.is.correct.MyNewTestCase
另外,请确保您拥有适用于常见 Kotlin 的正确模块; 就我而言,它很常见(不是 commonTest)。
完成上述操作后,您应该能够从主Run按钮(再次,在 Emulator 下拉列表旁边)运行测试类,甚至将其作为Debug运行。
该函数旁边的“绿色”运行按钮仍然会在此处显示 Nothing但添加断点并从主调试按钮运行新配置对我有用:
这显然并不完美,但这是我能找到的让它在 IDE 中工作的唯一方法。
希望能帮助到你!
全新安装 Android Studio 修复了此问题。 没想到会出现这个问题。 过去多次更新 Android Studio,这是我第一次遇到此类问题。
我已经尝试了上面提供的所有解决方案,没有一个对我有用。 最后,我只保留了与 Android studio 捆绑在一起的插件,并禁用了所有其他插件(重启 studio)。 我开始在 gutter 上看到运行测试的菜单。 解决此问题后,我开始逐个启用那些禁用的插件。 如果确定导致此问题的插件,则根据您的环境和开发要求决定如何处理它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.