使用Kotlin和akka测试套件测试akka演员

使用Kotlin和akka测试套件测试akka演员,akka,kotlin,akka-testkit,Akka,Kotlin,Akka Testkit,我试着和阿卡和科特林一起玩。我正在使用akka java API。演员班很好。但是我无法用Akka testkit实现测试用例 这是我的测试用例 fun testWordCount() { object : JavaTestKit(system) { init { val masterActor = system.actorOf(Props.create(WordCountActor.WordCountMaster::class.java), "m

我试着和阿卡和科特林一起玩。我正在使用akka java API。演员班很好。但是我无法用Akka testkit实现测试用例

这是我的测试用例

fun testWordCount() {
    object : JavaTestKit(system) {
        init {
            val masterActor = system.actorOf(Props.create(WordCountActor.WordCountMaster::class.java), "master")
            masterActor.tell(WordCountActor.StartCounting("src/main/resources/", 5), testActor)
            val wcs = expectMsgClass(JavaTestKit.duration("5 seconds"), WordCountActor.WordCountSuccess::class.java)
            object : JavaTestKit.Within(JavaTestKit.duration("5 seconds")) {
                override fun run() {
                    Assert.assertEquals(20, wcs.result.size)
                }
            }
        }
    }
}
我得到以下错误-

Error:(39, 17) Kotlin: [Internal Error] org.jetbrains.kotlin.codegen.CompilationException: Back-end (JVM) Internal error: Error generating constructors of class null with kind IMPLEMENTATION
Cause: Error generating constructors of class null with kind IMPLEMENTATION
File being compiled and position: (39,17) in /Users/kunalkanojia/Workspace/fun/kotlin_word_count/src/test/kotlin/WordCountActorTest.kt
PsiElement: object : JavaTestKit.Within(JavaTestKit.duration("20 seconds")) {
                override fun run() {
                    Assert.assertEquals(20, wcs.result.size.toLong())
                }
            }

我是Kotlin的新手,有什么问题吗?

这是Kotlin编译器中的一个bug,在1.0.4版本中修复,在快照版本中可用。
对于kotlin 1.0.3,您可以使用

中的变通方法,代码在Scala/Java中的外观如何?您使用的是哪一版本的kotlin?下面的代码()使用Kotlin编译器版本1.1.0-dev-2222Am(使用版本1.0.3)编译得很好。代码编译得很好,但在运行时会抛出一个错误。在java-check中是这样的: