我正在开发适用于 iOS/Android 的 Kotlin 多平台 (KMP) 库。我已经为 JVM 编写了一些单元测试,我使用 MockK创建 spy 和模拟,但 MockK 还不完全支持 Kotlin 原生。
因此,我想知道从事 KMP 项目的其他人如何为 iOS 平台编写单元测试。一个例子将非常感激。
最佳答案
目前,MockK 不支持 Kotlin/Native 或 Kotlin/JS。然而,两者都被列为重要项目on the project backlog :
这是一个巨大的挑战,因为模拟库严重依赖反射等语言功能,而 Kotlin 多平台尚未完全支持这些功能(如果没有针对特定平台的大量解决方法,甚至可能无法支持)。
这并不妨碍您编写自定义模拟类并验证您在其中设置的状态,当然,其中的测试将能够在所有平台上运行。
关于android - Kotlin 多平台 : How to mock objects in a unit test for iOS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58320492/