在 Android 项目中使用 AbstractProjectConfig
Using AbstractProjectConfig in Android project
我正在尝试为 Kotest 设置全局项目配置。我已按照 https://kotest.io/project_config/
中的说明进行操作
但是,我在下面有一些未解决的问题:
package io.kotest.provided
import io.kotest.core.config.AbstractProjectConfig
object ProjectConfig : AbstractProjectConfig() {
override val assertionMode = AssertionMode.Error
}
其中,在导入语句中,core
未解析。
AbstractProjectConfig
未解决。
AssertionMode
未解决。
那么当然,assertionMode
也“无视任何内容”
在我的应用级别 build.gradle,我有
dependencies {
[...]
testImplementation 'io.kotest:kotest-runner-junit5:4.3.1' // for kotest framework
testImplementation 'io.kotest:kotest-assertions-core:4.3.1' // for kotest core jvm assertions
testImplementation 'io.kotest:kotest-property:4.3.1' // for kotest property test
}
android.testOptions {
unitTests.all {
useJUnitPlatform()
}
}
是否可以在 Android 项目中使用 AbstractProjectConfig
?如果是这样,请问我哪里出错了?
所以看起来 kotest 文档有点误导(我已经提交了一个问题:https://github.com/kotest/kotest/issues/1866)。我发现我的应用程序级别 build.gradle 所需的依赖项的形式为:
dependencies {
testImplementation("io.kotest:kotest-runner-junit5-jvm:<version>")
androidTestImplementation("io.kotest:kotest-runner-junit5-jvm:<version>") {
exclude(module: "objenesis")
}
androidTestImplementation("io.kotest:kotest-assertions-core-jvm:<version>")
如 https://github.com/kotest/kotest-android-samples/blob/master/app/build.gradle
中的示例应用程序所示
参考 https://kotest.io/quick_start/#gradle 中显示的内容,有几个主要区别:
dependencies {
testImplementation 'io.kotest:kotest-runner-junit5:<version>' // for kotest framework
testImplementation 'io.kotest:kotest-assertions-core:<version>' // for kotest core jvm assertions
testImplementation 'io.kotest:kotest-property:<version>' // for kotest property test
}
请注意,示例应用依赖项有效,文档中的依赖项无效。
即后缀 -jvm
是必需的,在某些情况下,androidTestImplementation
是必需的,而不是 testImplementation
。我是测试新手,Android 这对我来说并不明显,所以很抱歉,如果这是更有经验的人一眼就能解决的问题!
我正在尝试为 Kotest 设置全局项目配置。我已按照 https://kotest.io/project_config/
中的说明进行操作但是,我在下面有一些未解决的问题:
package io.kotest.provided
import io.kotest.core.config.AbstractProjectConfig
object ProjectConfig : AbstractProjectConfig() {
override val assertionMode = AssertionMode.Error
}
其中,在导入语句中,core
未解析。
AbstractProjectConfig
未解决。
AssertionMode
未解决。
那么当然,assertionMode
也“无视任何内容”
在我的应用级别 build.gradle,我有
dependencies {
[...]
testImplementation 'io.kotest:kotest-runner-junit5:4.3.1' // for kotest framework
testImplementation 'io.kotest:kotest-assertions-core:4.3.1' // for kotest core jvm assertions
testImplementation 'io.kotest:kotest-property:4.3.1' // for kotest property test
}
android.testOptions {
unitTests.all {
useJUnitPlatform()
}
}
是否可以在 Android 项目中使用 AbstractProjectConfig
?如果是这样,请问我哪里出错了?
所以看起来 kotest 文档有点误导(我已经提交了一个问题:https://github.com/kotest/kotest/issues/1866)。我发现我的应用程序级别 build.gradle 所需的依赖项的形式为:
dependencies {
testImplementation("io.kotest:kotest-runner-junit5-jvm:<version>")
androidTestImplementation("io.kotest:kotest-runner-junit5-jvm:<version>") {
exclude(module: "objenesis")
}
androidTestImplementation("io.kotest:kotest-assertions-core-jvm:<version>")
如 https://github.com/kotest/kotest-android-samples/blob/master/app/build.gradle
中的示例应用程序所示参考 https://kotest.io/quick_start/#gradle 中显示的内容,有几个主要区别:
dependencies {
testImplementation 'io.kotest:kotest-runner-junit5:<version>' // for kotest framework
testImplementation 'io.kotest:kotest-assertions-core:<version>' // for kotest core jvm assertions
testImplementation 'io.kotest:kotest-property:<version>' // for kotest property test
}
请注意,示例应用依赖项有效,文档中的依赖项无效。
即后缀 -jvm
是必需的,在某些情况下,androidTestImplementation
是必需的,而不是 testImplementation
。我是测试新手,Android 这对我来说并不明显,所以很抱歉,如果这是更有经验的人一眼就能解决的问题!