Gradle не может найти тесты

Я использую платформу тестирования Spek для моего проекта Kotlin. Я могу запускать тесты через плагин Intellij Idea Spek, но не могу запускать их через gradle (build или test). Согласно SimpleTest.kt при запуске из плагина Idea 1 тест преуспел, а 1 не удалось, при запуске через gradle он говорит, что 1 контейнер найден с 0 тестами. Как настроить запуск тестов через gradle?

Мои шаблоны и тестовые файлы:

build.gradle:

buildscript { ext.kotlin_version = '1.1.4-2' repositories { mavenCentral() jcenter() } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" classpath "org.junit.platform:junit-platform-gradle-plugin:1.0.0-M4" } } apply plugin: "idea" apply plugin: "java" apply plugin: "kotlin" apply plugin: "application" apply plugin: "org.junit.platform.gradle.plugin" junitPlatform { filters { engines { include 'spek' } } } mainClassName = "app.MainKt" repositories { mavenCentral() jcenter() maven { url "http://dl.bintray.com/jetbrains/spek" } } dependencies { testCompile 'org.jetbrains.kotlin:kotlin-test' testCompile 'org.jetbrains.spek:spek-api:1.1.2' testCompile 'org.junit.platform:junit-platform-runner:1.0.0-M4' testRuntime 'org.jetbrains.spek:spek-junit-platform-engine:1.1.2' } sourceSets.test.java.srcDirs += 'src/test/kotlin' 

SRC / тест / Котлин / SimpleTest.kt:

 import org.jetbrains.spek.api.Spek import org.jetbrains.spek.api.dsl.given import org.jetbrains.spek.api.dsl.it import kotlin.test.assertEquals class SimpleTest : Spek({ given("simple test") { it("should succeed") { assertEquals(1, 1) } it("shouldn't succeed") { assertEquals(0, 1) } } }) 

Выход тестового сигнала:

 Executing external task 'test'... Gradle now uses separate output directories for each JVM language, but this build assumes a single directory for all classes from a source set. This behaviour has been deprecated and is scheduled to be removed in Gradle 5.0 :generateBuildConfig UP-TO-DATE :compileBuildConfig UP-TO-DATE :extractIncludeProto UP-TO-DATE :extractProto UP-TO-DATE :generateProto UP-TO-DATE :compileKotlin UP-TO-DATE :compileJava UP-TO-DATE :processResources UP-TO-DATE :classes UP-TO-DATE :compileTestKotlin Using kotlin incremental compilation :extractIncludeTestProto UP-TO-DATE :extractTestProto UP-TO-DATE :generateTestProto NO-SOURCE :compileTestJava NO-SOURCE :processTestResources NO-SOURCE :testClasses UP-TO-DATE :junitPlatformTest Test run finished after 5062 ms [ 1 containers found ] [ 0 containers skipped ] [ 1 containers started ] [ 0 containers aborted ] [ 1 containers successful ] [ 0 containers failed ] [ 0 tests found ] [ 0 tests skipped ] [ 0 tests started ] [ 0 tests aborted ] [ 0 tests successful ] [ 0 tests failed ] :test :test SKIPPED BUILD SUCCESSFUL in 14s 12 actionable tasks: 2 executed, 10 up-to-date External task execution finished 'test'. 

Это связано с этой проблемой с совместимостью между Spek 1.1.2 и Kotlin 1.1.4 https://github.com/JetBrains/spek/issues/248

Это можно решить, используя Spek 1.1.4 и junit-platform 1.0.0-RC2

Intereting Posts
Что отличается между двумя конструкторами? Moshi / Kotlin – Как сериализовать строки NULL JSON в пустые строки? Библиотека Kotlin 'classes.jar' имеет неподдерживаемый формат. Обновите библиотеку или плагин Сочетание результатов нескольких наблюдаемых Отключить кнопку Kotlin – Идиоматический способ удаления повторяющихся строк из массива? Почему экземпляр $ MockitoMock $ не идентифицируется как макет? Cloud Firestore – QuerySnapshot.toObjects выбрасывает ненулевой указатель Фильтрация массива объектов по расстоянию Котлин Объединение нескольких тегов <script> в одно в Kotlin Параметры и внутренние параметры рефицированного типа Есть ли способ иметь постоянную постоянную файла в Kotlin Преобразование данных с RxJava в Котлине java.lang.AbstractMethodError: абстрактный метод при запуске espresso на Kotlin с Mockito Как я могу получить мои тесты JUnit для компиляции и запуска в моем проекте Kotlin + Gradle?