akka - 使用Kotlin和Akka-TestKit测试Akka Actor

标签 akka kotlin akka-testkit

我想和阿卡和 Kotlin 玩耍。我正在使用akka Java API。 Actor类效果很好。但是无法使用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编译器中的错误,已在1.0.4分支中修复,可在快照版本中修复。
对于Kotlin 1.0.3,您可以使用https://youtrack.jetbrains.com/issue/KT-11833中的解决方法

关于akka - 使用Kotlin和Akka-TestKit测试Akka Actor ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38949474/

相关文章:

java - AKKA 消息超时

android - 自动实现方法 Kotlin Android

kotlin - 为什么 Kotlin double equals 找不到 .equals 方法?

Scala 和 Akka - 使用 Akka Testkit 将 actor 作为系统进行测试

scala - 使用背压接收逐行文件 IO

scala - akka 流 toMat

akka - 让 Akka 知道 Play 的 logback 配置

android.intent.action.MY_PACKAGE_REPLACED 不工作

scala - 没有模拟的 Akka 单元测试策略

scala - Akka Http 测试 Gzip 响应