如何同步对akka Actor进行单元测试?

CPS*_*CPS 5 unit-testing scala actor akka

我有一个演员在收到一定数量的消息后会写一个文件.

编译时,Maven运行我们定义的所有单元测试.问题是,在Actor写入文件(它正确执行)之前,检查文件是否已成功写入磁盘的单元测试.

我找到了一些测试Actors的文档,但它们都已经过了好几年了.在检查文件是否存在之前,我该如何等待?

yǝs*_*ǝla 5

总结一下所有的意见和建议:

  • 将非演员特定的代码重构为常规类,并使用常规方法(单元测试等)对其进行测试。这更像是一种单元测试方法。
  • 使用 TestActorRef 测试单个actor - 您可以同步控制事件并丰富到actor 内部。使用提供更多包括“特殊”演员系统的 TestKit。这更像是一种行为测试方法。
  • 使用此处的文档了解有关 Akka TestKit 工作原理的更多信息,但简而言之,您可以控制 actor 和同步执行。