【问题标题】:How to target js with kotlin kotest?如何使用 kotlin kotest 定位 js?
【发布时间】:2021-02-24 14:08:29
【问题描述】:

我一直在尝试在 kotlin 多平台项目中设置 kotest。 在 kotest 入门指南中,它说将此依赖项添加到 commonTest

implementation 'io.kotest:kotest-framework-engine:$version'

很遗憾,这并没有解决

Could not resolve io.kotest:kotest-framework-engine:4.4.1.
Required by:
    project :**strong text**

如果将此依赖项仅添加到 jvmTest,则它会解决。我找不到任何为多平台设置 kotest 的指南。

【问题讨论】:

    标签: kotlin kotest


    【解决方案1】:

    kotest 似乎还不支持 Kotlin 编译器的 JS IR 后端。这是kotest issue 2037。如果您为 JS 多平台设置配置 LEGACY 编译器后端,它应该可以工作。

    Kotest 的 Quick Start 文档实际上涵盖了当您在每个部分中选择最右边的选项卡(“多平台”)时的多平台配置。

    这些是来自build.gradle.kts 脚本的相关部分,该脚本使用 kotest 和 JVM 上的 IR 后端以及 JS 上的 LEGACY 后端:

    val kotestVersion = "4.4.1"
    
    kotlin {
        jvm("backend") {
            compilations.all {
                kotlinOptions.useIR = true
            }
            withJava()
        }
        js("frontend", LEGACY) {
            browser {
                binaries.executable()
                testTask {
                    useKarma {
                        useChromeHeadless()
                        webpackConfig.cssSupport.enabled = true
                    }
                }
            }
        }
        sourceSets {
            val commonTest by getting {
                dependencies {
                    implementation("io.kotest:kotest-framework-engine:$kotestVersion")
                    implementation("io.kotest:kotest-assertions-core:$kotestVersion")
                    implementation("io.kotest:kotest-property:$kotestVersion")
                }
            }
            val backendTest by getting {
                dependencies {
                    implementation("io.kotest:kotest-runner-junit5:$kotestVersion")
                }
            }
        }
    }
    
    tasks {
        // Tests
        withType<Test> {
            useJUnitPlatform()
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2018-09-12
      • 2023-01-31
      • 1970-01-01
      • 2022-07-06
      • 1970-01-01
      • 2019-07-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多