Tag: 源集

Kotlin:测试中的java.lang.NoSuchMethodError

是否可以在不同的源代码集中使用Kotlin包函数和包的属性? 当我尝试这样做,我有NoSuchMethodError抛出。 例 我有Graft项目,包含Kotlin代码和两个源代码集, main和test 。 main ,我有一个文件中的以下代码: package ru.ifmo.ctddev.igushkin.dkvs … public val payloadSplitter: String = " ### " 在test我尝试使用以下代码访问payloadSplitter : package ru.ifmo.ctddev.igushkin.dkvs … public class MessageTests { … test fun testParsing() { … checkParseAndToString("p1b 345 ${payloadSplitter} set abc") } … } 正好在有效payloadSplitter的第一行,在运行时我得到了 java.lang.NoSuchMethodError: ru.ifmo.ctddev.igushkin.dkvs.DkvsPackage.getPayloadSplitter()Ljava/lang/String; 其他全局变量和函数在test中也是不可访问的。 UPD Kotlin团队解释了这个问题,并在这里宣布了修复。