Настройка QUnit Testing Kotlin - зависимость 'kotlin-test' не найдена - PullRequest
0 голосов
/ 10 октября 2018

Я настраивал проект Kotlin для использования Qunit для тестирования в соответствии с этим постом блога: https://medium.com/@czuckie/experimenting-with-kotlin2js-and-qunit-gradle-ab2164af695, прежде чем, надеюсь, реализовать его на основном программном обеспечении моей компании.

Uncaught Error: Ошибка загрузки модуля 'myapp_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 Ответ

0 голосов
/ 15 октября 2018

Я обнаружил две ошибки в вашем коде:

  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>
    

    enter image description here

❇️?❇️

Менее важен, но стоит отметить:

После внесения этих изменений задачи gradle clean, build и test работали, но Test(декоратор?) в тестовом файле TwoNumbers.kt, импортируемом из org.junit, устарел - что выдало ПРЕДУПРЕЖДЕНИЕ при сборке - поэтому замените:

    import org.junit.Test

на:

    import kotlin.test.Test

И вы будете правы!

enter image description here

Наконец, не то, чтобы это имело большое значение, но я использовал ext.kotlin_version = "1.2.71" только для того, чтобы быть актуальным?

...