首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kotlin Spek框架使用Gradle崩溃

Kotlin Spek框架使用Gradle崩溃
EN

Stack Overflow用户
提问于 2017-07-11 04:21:48
回答 1查看 661关注 0票数 3

spek尝试查找测试时,我遇到了崩溃。我尝试过许多不同的版本和示例配置。我是从命令行运行的。Gradle 4.0,mac osx。任何帮助都将不胜感激!

下面是错误:

代码语言:javascript
复制
WARNING: TestEngine with ID 'spek' failed to discover tests
java.lang.NoSuchMethodError: org.junit.platform.commons.util.ReflectionUtils.findAllClassesInClasspathRoot(Ljava/nio/file/Path;Ljava/util/function/Predicate;Ljava/util/function/Predicate;)Ljava/util/List;
        at org.jetbrains.spek.engine.SpekTestEngine.resolveSpecs(SpekTestEngine.kt:66)
        at org.jetbrains.spek.engine.SpekTestEngine.discover(SpekTestEngine.kt:50)
        at org.junit.platform.launcher.core.DefaultLauncher.discoverEngineRoot(DefaultLauncher.java:130)
        at org.junit.platform.launcher.core.DefaultLauncher.discoverRoot(DefaultLauncher.java:117)
        at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:90)
        at org.junit.platform.launcher.Launcher.execute(Launcher.java:96)
        at org.junit.platform.console.tasks.ConsoleTestExecutor.executeTests(ConsoleTestExecutor.java:65)
        at org.junit.platform.console.tasks.ConsoleTestExecutor.lambda$execute$0(ConsoleTestExecutor.java:57)
        at org.junit.platform.console.tasks.CustomContextClassLoaderExecutor.invoke(CustomContextClassLoaderExecutor.java:33)
        at org.junit.platform.console.tasks.ConsoleTestExecutor.execute(ConsoleTestExecutor.java:57)
        at org.junit.platform.console.ConsoleLauncher.executeTests(ConsoleLauncher.java:85)
        at org.junit.platform.console.ConsoleLauncher.execute(ConsoleLauncher.java:75)
        at org.junit.platform.console.ConsoleLauncher.execute(ConsoleLauncher.java:48)
        at org.junit.platform.console.ConsoleLauncher.main(ConsoleLauncher.java:40)

这是我目前的build.gradle:

代码语言:javascript
复制
buildscript {

repositories {
    jcenter()
    maven { url "https://plugins.gradle.org/m2/" }
}
dependencies {
    classpath 'org.junit.platform:junit-platform-gradle-plugin:1.0.0-M5'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$project.ext.kotlinVersion"
}
}

apply plugin: 'org.junit.platform.gradle.plugin'
apply plugin: 'idea'
apply plugin: 'kotlin'
apply plugin: 'java'

junitPlatform {
    filters {
        engines {
            include 'spek', 'junit-jupiter', 'junit-vintage'
        }
    }
}

dependencies {
    compile("org.jetbrains.kotlin:kotlin-stdlib-jre8:$project.ext.kotlinVersion")


//    testCompile 'junit:junit:4.12'
    testCompile 'org.jetbrains.spek:spek-api:1.1.2'
    testRuntime 'org.jetbrains.spek:spek-junit-platform-engine:1.1.2'
    testCompile 'org.junit.platform:junit-platform-runner:1.0.0-M5'
    testCompile 'org.junit.jupiter:junit-jupiter-api:5.0.0-M5'
    testCompile "org.jetbrains.kotlin:kotlin-test-junit:$kotlin_version"
    testRuntime "org.junit.vintage:junit-vintage-engine:4.12.0-M5"
    testRuntime "org.junit.jupiter:junit-jupiter-engine:5.0.0-M5"
    testRuntime "org.junit.platform:junit-platform-console:1.0.0-M5"

    testCompile "com.google.code.gson:gson:$project.ext.gsonVersion"
}

repositories {
    mavenCentral()
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-11 15:17:43

在SPIK1.1.2中,你必须使用JUnit平台版本1.0.0-M4,因为M5有突破性的API更改,这使得它们不兼容。

看看这个:https://github.com/JetBrains/spek/issues/225

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45020938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档