JUnit 4 (работает)
Мультиплатформенный шаблон Kotlin в IntelliJ IDEA 2018.2.3 (Community Edition) использует JUnit 4.12 в build.gradle
для части проекта JVM:
plugins {
id 'kotlin-platform-jvm' version '1.2.61'
}
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
expectedBy project(":TestMulti-common")
testCompile "junit:junit:4.12"
testCompile "org.jetbrains.kotlin:kotlin-test"
testCompile "org.jetbrains.kotlin:kotlin-test-junit"
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
sourceCompatibility = "1.8"
Используя этот шаблон, я могу добавить тесты в общую часть проекта, и IntelliJ распознает тесты : на полях исходных файлов появляется значок «Выполнить», и тесты могут бытьзапустить через контекстное меню.
JUnit 5 (тесты не распознаются должным образом в IntelliJ)
Как мне выполнить аналогичную настройку, используя JUnit 5?
Примечательно, что я использую Gradle 4.10 (в некоторых более старых примерах используется junit-platform-gradle-plugin
, который устарел с Gradle 4.6 ).Документация о том, как это настроить, устарела и недостаточна:
Когда я пытаюсь настроить build.gradle
для части JVM проекта на основе примера JUnit 5 Gradle , Я могу запускать тесты с помощью Gradle , но IntelliJ, похоже, не распознает мои тесты .
plugins {
id 'kotlin-platform-jvm' version '1.2.61'
}
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"
expectedBy project(":TestMulti-common")
testCompile "org.jetbrains.kotlin:kotlin-test"
testCompile "org.jetbrains.kotlin:kotlin-test-junit5"
testCompile('org.junit.jupiter:junit-jupiter-api:5.3.1')
testCompile('org.junit.jupiter:junit-jupiter-params:5.3.1')
testRuntime('org.junit.jupiter:junit-jupiter-engine:5.3.1')
}
test {
useJUnitPlatform()
testLogging {
events "passed", "skipped", "failed"
}
}
compileKotlin {
kotlinOptions.jvmTarget = "1.8"
}
compileTestKotlin {
kotlinOptions.jvmTarget = "1.8"
}
sourceCompatibility = "1.8"
Как ни странно, иногда результаты теста появляются в тесте IntelliJрезультаты при выполнении gradle test
в проекте JVM, но при повторном запуске тестов появляется сообщение «Тестовые события не были получены» .Значки «Выполнить» на полях никогда не появляются в исходных файлах, как и параметры тестирования в контекстном меню.
У других людей, похоже, есть похожие проблемы, но неясно, являются ли они одинаковыми /связанные или были решены с тех пор:
Многочисленные выпуски, устаревшая документация и подобные проблемы затрудняют поиск дополнительной информации об этой проблеме.