【问题标题】:Spek plugins fails to discover method in Runtime and throws the exception: NoSuchMethodError ExceptionSpek 插件无法在运行时发现方法并抛出异常:NoSuchMethodError Exception
【发布时间】:2018-08-17 08:44:56
【问题描述】:

我在 IDEA-2018.2 中使用 Spek 插件和 Gradle 构建工具进行 Junit 测试 这是上面的依赖版本-

ext.junitPlatformVersion = '1.0.0'
ext.spekVersion = '1.1.5'

依赖-

testRuntime "org.junit.platform:junit-platform-launcher:$junitPlatformVersion"

当运行 throw ./gradlew test 时,它测试良好,没有任何错误,但是当在该测试文件中运行 Spek Run 时,它会抛出以下错误-

java.lang.NoSuchMethodError: com.company.Class.method(Linput1; Linput2) Lio/reactivex/Single;

由于公司的隐私没有写出实际的类名和方法。有什么帮助吗?

【问题讨论】:

    标签: gradle intellij-idea junit kotlin spek


    【解决方案1】:

    您添加的依赖项和使用的依赖项在运行时可能不同,请仔细检查您正在使用的所有依赖项。它清楚地表明该方法不可用,如果您知道它存在,那么肯定可以将其删除(在较新版本中)或该方法不存在(在旧版本中它没有该方法)。

    【讨论】:

    • 那个方法是我实现的,不是依赖相关的方法。只有当我使用上面提到的 Spek 运行测试时才会引发错误。 ./gradlew test 工作正常。
    • 对不起,上面的教程已经看完了,也跟着很相似。但是 IDEA 中有一个 Spek 插件,可以在失败的 Spek 中运行特定的 describe - 这就是这里的实际问题!!
    • 所以如果插件有问题,那么只需从命令提示符运行测试用例。
    • 是的,可以,但在这种情况下,仅记录日志将很难进行调试。这就是我们使用Spek plugin 的原因,它让您在调试时变得简单。
    • maven 可以提供帮助,它也有调试端口。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多