测试无状态,单向消息akka actor

时间:2017-05-01 22:42:42

标签: scala akka

在我的项目中,我们经常使用无状态演员。原因是我们想要使用这些演员来发送“即发即弃”的消息。

这为我们提供了一种快速执行异步任务的方法,而无需自己创建和管理未来。

这非常有效,但其中一个问题是测试这些东西真的很难。我想知道如何为此编写测试用例。

一个明显的想法是,在代码执行结束时,我可以sender ! EmptySuccess,然后测试用例可以使用ask模式来查看它们是否获得了EmptySuccess。

问题是在生产中所有代码都会在actor引用上使用!,因此我们最终可能会有很多dead letter messages可能污染我们的日志(因为发件人并不真的等待接收演员的答案。)

编辑:我们现在不想改用期货。原因是这是遗留代码,如果我们不能将我们的未来一直打倒,因为这将意味着很多代码改变。

0 个答案:

没有答案