1
我是在akka系统上使用scala的新手。小孩在akka上的测试回复
我有一位父母演员(名字叫“经理”),向孩子发送消息,并接收一个答案,并将答案转发给下一个孩子。 最后的演员保存整个过程的结果。
我想创建一个将消息发送给父(“管理器”)的端到端测试,并期望来自最后一个接收结果的actor的消息。 我正在寻找一种简单的方法来指导最终演员发送消息回测试。由于测试不是发件人,也不是简单的演员,我不知道如何正确引导信息。
以下是测试代码:
class EndToEndTest extends TestKit(ActorSystem("MyActorSystem"))
with FunSuiteLike with Matchers with BeforeAndAfterAll with ImplicitSender {
override def afterAll {
TestKit.shutdownActorSystem(system)
}
test("should send result") {
val actor = system.actorOf(Props(new Manager(name = "ActorManager")))
actor ! tPoint(1000L)
actor ! tPoint(2000L)
expectMsg(ActorResult(1))
}
}
最后一个儿童演员和:
class SensorHealthReportMySqlActor extends Actor with ActorLogging {
def receive = {
case Result(result: Long) =>
//this is where i would like to send the test a message with Result(result)
case _ =>
log.error("Unknown message type")
}
}
任何帮助,将不胜感激。