【发布时间】:2018-03-10 23:57:39
【问题描述】:
首先,我不是在问如何对 Akka Actor 进行单元测试。我知道这样做的技巧。我的问题略有不同。
我正在开发一个不使用 Akka Actors 的 Scala 程序,我们称之为client。但是,该程序使用了一个库,我们称之为server,它的接口是使用 Akka Actor 实现的。
然后,通过询问模式,client 与server 交互。
// This is the client program
class Client(uri: String) {
implicit val context: ActorSystem = ActorSystem("client-actor-system")
private val mainActor = context.actorSelection(uri)
def connect: Future[SomeClass] = {
implicit val timeout: Timeout = Timeout(5 seconds)
(mainActor ? Connect()).mapTo[CreationResponse]
}
}
现在,我想为Client 类写一些单元测试。单元测试意味着单独测试一个类。每个外部依赖项都应该被模拟。
如何在 Client 类中模拟对 mainActor 的引用?如何在演员系统中为mainActor 注入一个模拟演员?
提前致谢。
【问题讨论】:
标签: scala unit-testing akka akka-testkit