我正在开发一个基于Akka Persistent FSM的项目。特别是:
我想知道为了保证测试用例的独立性,最好的结构方式是什么?由于状态更改是持久化的(这在文档中没有很好地解释,但可以在这里看到),因此确保我的持久化actor始终处于干净状态可能会很棘手。是否需要手动将重置构建到我的actor FSM协议中?如果是这样,这似乎不太理想,因为它是需要单独测试的新行为。
在测试中如何管理日志本身?有没有一种简单的方法来配置使用不同的日志记录器进行测试,而不必在actor设计本身中显式进行此选择?文档中的Plugin TCK部分提到手动删除整个日志文件。这对于测试插件本身似乎是合理的,但对于应用程序代码来说,这似乎是一种不必要的低级解决方案。也许我需要显式调用日志记录器的asyncDeleteMessagesTo来进行测试拆卸?这仍然似乎是非常低级的,但也许它只是尚未集成到库中的基础设施。
application.conf
中复制所有内容吗,还是只需提供覆盖项即可?目前,我只在进行日志配置,但我想提前了解一下,以备将来添加更多配置时使用。我不太喜欢注入persistenceId
的概念,但如果那是我能做的最好的选择,那就这样吧。 - acjay