我正在开发适用于 iOS/Android 的 Kotlin 多平台 (KMP) 库。我已经为 JVM 编写了一些单元测试,为此我使用MockK来创建间谍和模拟,但 MockK 尚不完全支持 Kotlin 本机。
因此,我想知道其他从事 KMP 项目的人是如何为 iOS 平台编写单元测试的。一个例子将不胜感激。
我无法将通用模拟库 (mockk.io) 与 kotlin 多平台一起使用。在他们的网站上,它说要在 kotlin 多平台中使用 mockk,你只需要将这一行添加到你的 gradle 中。testImplementation "io.mockk:mockk-common:{version}"
我添加了它并且它正常构建,只有当我想使用它时它才会失败。给予
Unresolved reference: io
Unresolved reference: mockk
Run Code Online (Sandbox Code Playgroud)
我的 gradle 文件
kotlin {
val hostOs = System.getProperty("os.name")
val isMingwX64 = hostOs.startsWith("Windows")
val nativeTarget = when {
hostOs == "Mac OS X" -> macosX64("native")
hostOs == "Linux" -> linuxX64("native")
isMingwX64 -> mingwX64("native")
else -> throw GradleException("Host OS is not supported in Kotlin/Native.")
}
nativeTarget.apply {
binaries {
executable {
entryPoint = "main"
}
}
}
sourceSets {
val nativeMain by …Run Code Online (Sandbox Code Playgroud)