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")
}
}
任何幫助,將不勝感激。