如何解决异步行为测试Akka
如何在akka中测试异步行为?
我想测试一种行为,该行为会得到一条消息,然后生成一个新行为(我想确保该行为已生成)
首先,我考虑过使用BehaviorTestKit(和.expectEffectType),但是由于它是同步的,因此无法正常工作。
我该怎么办?
解决方法
如果您想从“ Spawner” Actor中了解它是否产生了“ Worker”行为,请将其发送回“ Reply” ActorRef。
可能像这样:
/// BEHAVIOR case DoSomeStaff(replyTo) => replyTo ! Spawned(ctx.spawn(BEHAVIOR_WORKER,NAME))
val spawner = ctx.spawn(BEHAVIOR,"spawner")
val replyTo = TestInbox[Spawned]()
spawner ! API.DoSomeStuff(replyTo) <-- will send a ActorRef of Spawned Actor to ReplyTo
inbox.expectMessage("REF"...)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。