Android Kotlin Multiplatform:如何在iOS单元测试中模拟对象

Android Kotlin Multiplatform:如何在iOS单元测试中模拟对象,android,ios,unit-testing,kotlin,kotlin-multiplatform,Android,Ios,Unit Testing,Kotlin,Kotlin Multiplatform,我正在为iOS/Android开发Kotlin多平台(KMP)库。我已经为JVM编写了一些单元测试,我用它们来创建间谍和模拟,但MockK还不完全支持Kotlin native 因此,我想知道从事KMP项目的其他人是如何为iOS平台编写单元测试的。举个例子,我会非常感激。我环顾四周,问了一下,顺便问一下,哪一个是一个很好的空间,你可以直接问Kotlin开发人员和Kotlin语言爱好者有关的问题,包括多平台的问题 但是在我写这篇文章的时候,我不认为你可以用mock或任何其他模拟库来模拟公共模块 对

我正在为iOS/Android开发Kotlin多平台(KMP)库。我已经为JVM编写了一些单元测试,我用它们来创建间谍和模拟,但MockK还不完全支持Kotlin native


因此,我想知道从事KMP项目的其他人是如何为iOS平台编写单元测试的。举个例子,我会非常感激。

我环顾四周,问了一下,顺便问一下,哪一个是一个很好的空间,你可以直接问Kotlin开发人员和Kotlin语言爱好者有关的问题,包括多平台的问题

但是在我写这篇文章的时候,我不认为你可以用mock或任何其他模拟库来模拟公共模块


对于通用模块中的测试,您可以使用老式的接口/impl/stub方法进行测试,该模块的目标是作为平台之一的native。

目前,MockK不支持Kotlin/native或Kotlin/JS。但是,两者都被视为重要项目:

这是一个巨大的挑战,因为模拟库严重依赖于反射等语言特性,而这些特性在Kotlin multiplatform上还不完全受支持(如果没有针对特定平台的大量解决方案,甚至可能无法得到支持)


这并不妨碍您编写自定义模拟类并验证其中设置的状态,当然,测试将能够在所有平台上运行。

我在androidTest中测试公共源代码。有Mockk可用

我认为这已经足够了,因为Android使用与通用模块完全相同的代码

shared
> src
>> androidMain 
>> androidTest < tests here
>> commonMain < code here
共享
>src
>>安卓美因
>>androidTest<此处的测试
>>commonMain<这里的代码

测试不应该进行androidTest吗?