gpt4 book ai didi

scala - 使用 Akka 测试套件从 ActorRef 获取底层 Actor

转载 作者:行者123 更新时间:2023-11-28 20:39:11 25 4
gpt4 key购买 nike

有什么方法可以使用 Akka Actor 测试套件从 ActorRef 获取底层 Actor?

我知道 TestActorRef,但我不能在我的测试中使用它们,因为 Actors 是在我的应用程序深处实例化的。我能得到的只是他们的引用。用消息传递测试所有东西会很痛苦。

谢谢!

最佳答案

您正在尝试的是 Akka 中非常糟糕的反模式。 Actor 及其交互的全部目的是隔离——从外部隐藏 Actor 实例。

如果您要检查 Actor 实例,您将不断遇到竞争条件,因为这种访问不受“好像”单线程的 Actor 保证的保护。

我强烈建议构建和组合您的 actors,使您能够测试他们正在建模的交互,而不必直接检查他们的内部状态。例如,您可以使用方法来要求参与者提供其内部状态等。要点是,它是故意制作的,并且您公开的状态可能与实际保存在实例中的状态不同(更容易发展和更改内部表示)。

关于scala - 使用 Akka 测试套件从 ActorRef 获取底层 Actor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40677160/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com