可以将Akka中的testkit版本升级到2.6以上,这个版本支持Akka的typed API。同时,需要将依赖项更新为akka-actor-typed和akka-actor-testkit-typed。接下来,按照下面的方式进行测试即可:
import akka.actor.testkit.typed.scaladsl.{ActorTestKit, LogCapturing}
import org.scalatest.{BeforeAndAfterAll, Matchers, WordSpecLike}
class MyActorSpec extends WordSpecLike with Matchers with BeforeAndAfterAll with LogCapturing {
val testKit = ActorTestKit()
override def afterAll(): Unit = testKit.shutdownTestKit()
"A MyActor" should {
"reply with a greeting" in {
val myActor = testKit.spawn(MyActor())
val replyTo = testKit.createTestProbe[Greeting]()
myActor ! Greet("Akka", replyTo.ref)
replyTo.expectMessage(Greeting("Hello, Akka!"))
}
}
}
这样的话,就可以在使用Akka的typed API的时候,用Akka testkit进行测试了。