设置 QUnit 测试 Kotlin - 未找到依赖项 'kotlin-test'

Setting Up QUnit Testing Kotlin - dependency 'kotlin-test' was not found

根据这篇博文,我一直在建立一个 Kotlin 项目以使用 Qunit 进行测试:https://medium.com/@czuckie/experimenting-with-kotlin2js-and-qunit-gradle-ab2164af695 希望在我公司的主要软件上实施之前。

未捕获错误:加载模块时出错 'myapp_test'。未找到其依赖项 'kotlin-test'。请检查 'kotlin-test' 是否在 'myapp_test' 之前加载。

是我尝试 运行 测试时遇到的错误。这让我很困惑。在我看来 'kotlin-test' 之前会被加载,但我猜不是?我错过了什么?这是我的 build.gradle 文件...

group 'com.example'
version '1.0-SNAPSHOT'

buildscript {
ext.kotlin_version = '1.1.2-5'

repositories {
    mavenCentral()
}
dependencies {classpath "org.jetbrains.kotlin:kotlin-gradle 
plugin:$kotlin_version"
}
}

apply plugin: 'kotlin2js'
apply from: "kotlinjs.gradle"

repositories {
    mavenCentral()
}

dependencies {
    compile "org.jetbrains.kotlin:kotlin-stdlib-js:$kotlin_version"
    testCompile "org.jetbrains.kotlin:kotlin-test:$kotlin_version
}

我发现您的代码有两处错误:

  1. testCompile 依赖项不正确(注意添加“-js”):

    -   testCompile "org.jetbrains.kotlin:kotlin-test:$kotlin_version"
    +   testCompile "org.jetbrains.kotlin:kotlin-test-js:$kotlin_version"
    
  2. 并且在相应的 test.html 中使用了错误的生成构建文件路径。你需要kotlin-test.js 不是 kotlin-test-js.js:

    -   <script type="text/javascript" src="build/classes/test/lib/kotlin-test-js.js"></script>
    +   <script type="text/javascript" src="build/classes/test/lib/kotlin-test.js"></script>
    

❇️❇️

不太重要但值得注意:

通过这些修改,gradle cleanbuildtest 任务可以正常工作,但 Test(装饰器?)在 TwoNumbers.ktorg.junit 导入的测试文件已弃用——这会在构建时发出警告——所以替换:

    import org.junit.Test

与:

    import kotlin.test.Test

你就可以出发了!

最后,并不是说它有多大区别,但我使用 ext.kotlin_version = "1.2.71" 只是为了保持最新