首先,我不是在问如何对 Akka Actor 进行单元测试。我知道这样做的技巧。我的问题略有不同。
我正在开发一个client
不使用 Akka Actors 的 Scala 程序,我们称之为 . 但是,该程序使用了一个库,我们称它为server
,它的接口是使用 Akka Actor 实现的。
然后,通过ask 模式, 与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
班级写一些单元测试。单元测试意味着单独测试一个类。每个外部依赖项都应该被模拟。
如何模拟对mainActor
内部Client
类的引用?我如何在演员系统中注入一个模拟演员mainActor
?
提前致谢。