我有一个具有以下结构的项目:
multiplatformmodule
- 包含一个 kotlin 类 SomeMultiPlatformClass jvmmodule
- 一个纯 jvm 模块,它依赖于 multiplatformmodule
问题是在 jvmmodule 中我无法从
multiplatformmodule
访问任何类运行测试时。我得到 java.lang.NoClassDefFoundError: com/example/multiplatform/multiplatformmodule/SomeMultiPlatformClass
. IDE (Anroid Studio) 也将此类标记为未解决。然而,当 multplatformmodule
类是从另一个多平台模块访问的。在示例项目 https://github.com/micHar/kmm-dependency-issues/tree/master 中可以看到更多内容.
最佳答案
我克隆了您的存储库并使用 Intellij 2020.3.1 打开它,它似乎解决了 SomeMultiPlatformClass
美好的。我尝试从 IDE 运行测试,但由于不同的原因无法正常工作。当我更改 @Test
指向kotlin.test.Test
IDE 也很好地运行了测试。
https://github.com/kpgalligan/kmm-dependency-issues
关于unit-testing - 无法从仅 jvm 模块访问 commonMain 多平台类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65830632/