unit-testing - 无法从仅 jvm 模块访问 commonMain 多平台类

原文 标签 unit-testing kotlin intellij-idea jvm kotlin-multiplatform

我有一个具有以下结构的项目:

  • 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 也很好地运行了测试。
    enter image description here
    https://github.com/kpgalligan/kmm-dependency-issues

    关于unit-testing - 无法从仅 jvm 模块访问 commonMain 多平台类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65830632/

    相关文章:

    java - "distributed unit testing"的框架或工具?

    java - 更新到Android 3.6.1后的错误

    android - Kotlin list.map与是否更改返回值

    javascript - .js文件中的特殊字符最初没有正确显示

    java - 没有 load() 方法我无法测试单例

    java - 如何让 Spark Streaming 在单元测试中计算文件中的单词?

    Eclipse Maven 一键构建和测试

    kotlin - 如何在Kotlin中将新行添加到StringBuilder

    intellij-idea - Idea项目中的Gradle依赖项

    intellij-idea - 应用代码格式时,如何查看 IntelliJ 所做的实际更改?