android - 在 Android 项目中使用 AbstractProjectConfig
问题描述
我正在尝试为 Kotest 设置全局项目配置。我已按照https://kotest.io/project_config/的说明进行操作
但是,我在下面有许多未解决的项目:
package io.kotest.provided
import io.kotest.core.config.AbstractProjectConfig
object ProjectConfig : AbstractProjectConfig() {
override val assertionMode = AssertionMode.Error
}
其中,在 import 语句中,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()
}
}
是否可以AbstractProjectConfig
在 Android 项目中使用?如果是这样,请问我哪里出错了?
解决方案
因此,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 的新手,这对我来说并不明显,所以很抱歉,如果这是一个更有经验的人一眼就能解决的问题!
推荐阅读
- scala - Spark ML 将自定义 OneHotEncoder 插入/拟合到管道中
- node.js - 我正在为 CLI 使用节点,但每当我运行我的代码时,我都会收到状态 400 错误
- sql-server - 使用批量插入的问题
- raku - 在 Raku 中说没有换行符
- ramda.js - 如何按一个键分组并用 Ramda 对其他键求和?
- python - 使用循环多次调用函数
- c# - 如何在 Unity 2019.3 中获取对图像的引用?
- c# - Newtonsoft.Json.JsonConvert.DeserializeObject 转换成 Newtonsoft.Json.Linq.JObject 问题
- javascript - 在 aspx 应用程序中添加内容安全策略后,无法将数据加载到画布
- clojurescript - 如何在 Re-frame (ClojureScript) 中重置计数器