【发布时间】:2013-09-02 21:36:04
【问题描述】:
我正在构建一个演员层次结构,其中一些演员回复他们直接发送给知名演员(固定名称)的消息。 IE。这些actors(在层次结构中很远)通过context.actorFor("akka://...")获得一个actorRef。
即例如,我有一个“编排”演员:
system.actorOf(Props[OrchestratingActor], name = "orchestrator")
然后会有一个akka://application/user/orchestrator这样的地址
在其他地方,一个随机的工作人员收到一条消息并想与协调器交谈:
class RandomWorker extends Actor {
def theOrchestrator = context.actorFor("akka://application/user/orchestrator")
def receive = {
case Foo =>
theOrchestrator ! "Bar"
}
}
现在,我想测试这些演员,并想知道如何处理这些地址:当对演员进行单元测试时(例如使用 TestActorRef),我该如何检查发送到远程地址的内容?一种想法是(在可能的情况下)通过构造函数向知名参与者提供地址,并传入 TestActor 的地址以查看接收到的内容。但是我想知道是否没有办法在测试中“冒充”给定地址,尤其是。在地址不简单的情况下。
换句话说,我想测试演员的行为(它是否确实会在收到Foo 时将"Bar" 发送给编排器
【问题讨论】:
-
很抱歉,我完全不明白这个问题。你能列出你拥有的和想要的吗?
-
确实,这有点毛骨悚然,希望现在更清楚了