Akka Typed ActorTestKit -如何发送终止信号



我有一个现有的单元测试,它使用BehaviorTestKit来测试actor在接收到一个Terminated信号时的行为。我可以像这样向它发送一个终止信号:

val myParentTestKit = BehaviorTestKit(ParentActor())
myParentTestKit.signal(Terminated(myChildTestKit.ref))

这工作得很好,并且我能够观察/断言参与者的终止处理的效果。

现在,一些实现细节已经改变(参与者间消息传递),这使得不再可能使用BehaviorTestKit。我正试图将此测试移植到使用ActorTestKit。我可以像这样生成父角色:

val myParent = myActorTestKit.spawn(ParentActor())

然而,我不知道如何发送终止信号给它。

使用ActorTestKit而不是BehaviorTestKit时,发送终止信号的正确方法是什么?

actor testkit实际运行actor,因此触发Terminated的方法是停止actor。这可以通过actor的协议中的显式停止消息来完成,actor返回Behaviors.stopped,或者当使用myActorTestKit.stop(actorRef)通过testkit启动时。

最新更新