我有一个EventSourcedBehavior,它最终会收到一条消息,导致最后一个事件,然后自行停止。实现这一点不是问题,但当我想测试它时,我收到了一条DeadLetter消息,因为EventSourcedBehaviorTestKit在runCommand之后发送了一条“GetState”消息。问题是:该行为自行停止,无法再响应。
我已经查看了EventSourcedBehaviorTestKit的api文档,但是没有找到一个合适的方法来实现我的目标。
下面是一个简单的测试,它展示了我的问题:
第一个
如何设置测试,以便运行此命令,然后预期行为停止?
1条答案
按热度按时间7uzetpgm1#
无法使用
EventSourcedBehaviorTestKit
测试停止。您可以利用
PersistentTestKit
的内存中日志和快照存储,并使用ActorTestKit
进行测试。或者,从Akka 2.7.0开始,可以将
EventSourcedBehavior
转换为一个不持久化但在探测器上公开事件和快照的EventSourcedBehavior
(而不是EventSourcedBehaviorTestkit
所做的秘密GetState
命令),并可以使用BehaviorTestkit
或ActorTestkit
进行测试(尽管人体工程学倾向于前者)。