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 - mock - 意外的期望 - 不知道我做错了什么

    android - 使用本地 JSON 的 Retrofit 2.0 Android 单元测试

    android-studio - 从kotlin中另一个arraylist的值对arraylist进行排序

    java - IntelliJ IDEA 报契约违背警告

    intellij-idea - intellij 中的自定义评论标记

    php - 对类使用 @covers

    python - 如何使用随机值验证单元测试

    使用主构造函数时的 Kotlin getter/setter

    android - 数据绑定(bind) Kotlin Android 工作室错误

    java - 如何跨文件提取方法?